2017-05-10 14 views
0

私は、php、mysql、ajaxを使って投票システムを作ろうとしています。私はデータベースからポーリングテーブルを作成しました。複数の回答を持つPhp ajax投票システム

id 
answer 
vote 

私は、ユーザーが自分の答えを増やしたいと私は、私も答え

$("body").on("click",".insertp", function(){ 
     var poll = $("#createPoll").val(); 
     var dataPoll = 'poll=' + poll; 
     $.ajax({ 
      type:'POST', 
      url:'/requests/postPoll', 
      data: dataPoll, 
      cache: false, 
      beforeSend: function(){}, 
      sucess: function(){ 
       console.log("Success!"); 
      } 
     }); 
    }); 

を挿入するためのAjax機能を作成しているこのDEMO

<div class="inputsl"> 
    <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div> 
    <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div> 
    <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div> 
    <div class="inputt"><input type="text" id="createPoll" name="mypoll" class="myinput"></div> 
</div> 

のような単純なJavaScript関数を作成しましたとpostPoll.php関数

<?php 
include_once '../inc/inc.php'; 
if(isset($_POST['poll'])){ 
    $poll = mysqli_real_escape_string($db, $_POST['poll']); 
    if($poll){ 
foreach($poll as $setPoll){ 
     $insertPollfromData = $InSert->Insert_Poll($uid, $setPoll); 
    } 
    } 
} 
?> 

は今、私はポーリングテーブルから複数の回答を挿入したいが、私のpostPoll.phpは私に、このエラーを与える:

Warning: Invalid argument supplied for foreach() in

は、どのように私は、データベースから複数の投票を挿入することができますか?誰でもここで私を助けることができますか? ご協力いただきありがとうございます。

+0

'配列 'を反復処理するときにのみ' foreach'を使用します。 '$ poll'は配列ではなくブール値であるようです。 '$ uid'はどこから来ましたか? – Akintunde007

+0

@Akin ..私はあなたと同意します.. –

+0

あなたの仕事を達成するためには、おそらくユーザが 'array_'の答えを入力する入力フィールドを' create_answer [] 'のように設定し、PHP側で反復する必要があります – Akintunde007

答えて

0

mysqli_real_escape_string

foreachが反復するPARAMとしてアレイを必要とする文字列を返します。

ポーリングをPHPスクリプトの配列として投稿し、配列メンバーごとにmysqli_real_escape_stringを実行する必要があります。

1

あなたのHTMLには、<form>を使用して入力を追加することをお勧めします。 https://api.jquery.com/serialize/

すべての入力からPHPファイルトラフajaxにシリアル化されたデータを送信するには、次のように入力します。

関連する問題