-1

ユーザーが複数のチェックボックスを選択できるようにするコードがあります。

while($data2 = mysql_fetch_array($result)) {
    echo "<input type=\"checkbox\" name=\"pid[]\" value=\"{$data2['product_id']}\">         {$data2['product_id']} {$data2['product_name']}</option>";
    echo"<br/>";
}

チェックした値をデータベースに入力したい。

$pid = $_POST['pid'];
for ($i = 0; $i < count($pid); $i++) {

    $information="INSERT INTO     orders(productid,product_discount,amount,customerid,order_date,quantity) VALUES('$pid','$discount','$amount','$custid',CURDATE(),'')";
    $result=mysql_query($information) or die(mysql_error());
}

これは機能していません。

4

3 に答える 3

0
foreach ($_POST['pid'] as $pid) {
 $information="INSERT INTO
                  orders(productid,product_discount,amount,customerid,order_date,quantity) 
               VALUES('$pid','$discount','$amount','$custid',CURDATE(),'')";
 $result=mysql_query($information) or die(mysql_error());
}
于 2012-06-22T18:49:20.040 に答える
0

SQL インジェクションに注意してください。

mysql_*非推奨です。代わりにPDOを使用してください。

于 2012-06-22T18:48:32.930 に答える
0

$pid は配列なので、そのまま挿入することはできません。これを試して :

$pid=$_POST['pid'];
for ($i=0;$i<count($pid);$i++)
{

$information="INSERT INTO     orders(productid,product_discount,amount,customerid,order_date,quantity) VALUES($pid[$i],'$discount','$amount','$custid',CURDATE(),'')";
$result=mysql_query($information) or die(mysql_error());
}
于 2012-06-22T18:48:57.610 に答える