4
    foreach(($no_items as $key=>$txt ) && ($b_cost as $key=>$txt1 ))
    {
    $sql1 = "INSERT INTO bulk_s (`no_items`,`b_cost`) VALUES ('$txt[$key]','$txt1[$key]')       ";
    }

PHPページに2つの動的に作成された配列があり、その値を同じ行のDBに保存する必要があります

私のjsコード

    function changeIt()
    {
    my_div.innerHTML = my_div.innerHTML +"<br> items <input type='text'  name='txt[]'+ i>"

    my_div.innerHTML = my_div.innerHTML +" cost <input type='text'  name='txt1[]'+ j>"
    i++;
    j++;
    } 
4

2 に答える 2

3

あなたのforeach構文は有効な PHP ではありません。同じキーを持つ 2 つの配列を同時に反復処理する場合は、代わりにキーを反復処理する必要があります。

foreach (array_keys($no_items) as $key) {
    $txt = $no_items[$key];
    $txt1 = $b_cost[$key];
    $sql1 = "INSERT INTO bulk_s …";
}

ただし、このような SQL ステートメントを作成しないでください。SQL インジェクションが発生しやすくなります。これは受け入れがたいコーディング方法です。最良の場合、プログラムの洗練度が低下し、最悪の場合、訴訟を起こす可能性があり、非常に単純で優れた解決策があります。

于 2013-02-04T18:41:24.487 に答える
0

このようにしてみてください

  $i = 0;
foreach($no_items as $key=>$items) {

   $data[$i] = array(
           'variable1' => $items['no_items'],
           'variable2' => $items['b_cost'],
   );
    $sql1 = "INSERT INTO bulk_s (`no_items`,`b_cost`) VALUES ('$data['variable1']','$data['variable2']')       ";
   $i++;

 }
于 2013-02-04T18:35:51.457 に答える