2017-08-10 16 views
2

それぞれtrの3つのinputの不確定な行があります。たぶん10行、おそらく100行、クリックしたボタンに依存します(onclickメソッドはaddDvcPeople()です)。ここでテーブルに挿入された配列名の値を投稿する方法は?

は私のSQLです:私のSQLは動作しないことができる

function addDvcPeoplef() 
{ 
    newrow = '<tr><td ><input name="enName'+aDWI+'"></td><td ><input name="enID'+aDWI+'"></td><td ><input name="enPhone'+aDWI+'"></td></tr>'; 
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')')); 
} 

:ここ

$query="insert into IDC (name,id,phone,cloudeid) VALUES (?,?,?,?)"; 
$stmt = $conn->prepare($query); 

for($i=5;$i<10;$i++) 
{ 
    $stmt->execute(array($_POST['enName".$i."'],$_POST['enID".$i."'],$_POST['enPhone".$i."'],LAST_INSERT_ID())); 
    ...... 
} 

は私のjavascriptのコードです。私はenName".$i."が間違っていると思います。 enName"+.$i.+"enName$iが間違っています。誰が私を助けられるか ?

+0

あなたが本当にやりたいのですか?作成したテーブルのすべてのデータをデータベースに追加しますか?エキサイティングなHTMLテーブルに行を追加し続けますか? – Sand

+0

クリックごとにaDWIがインクリメントされますか? –

答えて

1
$enName=$_POST['enName'.$i]; 
$enID=$_POST['enID'.$i]; 
$enPhone=$_POST['enPhone'.$i]; 

$stmt->execute(array($enName,$enID,$enPhone,LAST_INSERT_ID())); 

この方法で試してみてください。これは私の場合に働いています。

+0

.enName $ iは間違っています。何もしませんでした。 – stack

+1

あなたは 'POST'が成功していると確信していますか? 'print_r($ _ POST);のようなポストを印刷してみてください。 –

0

これを試してください。あなたが$_POST$_GETを経由して配列を送信することができ、これに

$stmt->execute(array($_POST['enName".$i."'],$_POST['enID".$i."'],$_POST['enPhone".$i."'],LAST_INSERT_ID())); 

$stmt->execute(array($_POST["enName'.$i.'"],$_POST["enID'.$i.'"],$_POST["enPhone'.$i.'"],LAST_INSERT_ID())); 
0

をこの行を変更します。それが扱いやすくなります。私はこのようにそれを行うだろう:

function addDvcPeoplef() 
{ 
    newrow = '<tr><td ><input name="IDC[' + aDWI + '][name]"></td><td ><input name="IDC[' + aDWI + '][id]"></td><td ><input name="IDC[' + aDWI + '][phone]"></td></tr>'; 
    $(newrow).insertAfter($('#staTable tr:eq('+aDWI+')')); 
} 

は、その後、あなたはこのようにそれを挿入することができます。

foreach($_POST['IDC'] as $aDWI => $data) 
{ 
    $stmt->execute(array($data['name'], $data['id'], $data['phone'], LAST_INSERT_ID())); 
    ...... 
} 
関連する問題