0

同じを使用して、foreach ループを介して複数のフィールド値を送信するにはどうすればよいIDですか?

この HTML コードの何が問題になっていますか?

<input type="text" size="3" name="new_quantity[<?php echo $product_id; ?>]" value="<?php echo $product_quantity; ?>" />
<input type="text" name="totalcost[<?php echo $product_id; ?>]" value="<?php $total_cost; ?>"  />

PHPコード

foreach($_REQUEST['new_quantity'] as  $key => $quantity) {
    foreach($_REQUEST['totalcost'] as $key => $total) {
        $sql=mysql_query("UPDATE `categories`.`carts` SET `product_quantity` = '$quantity',                `product_totalcost` = '$total' WHERE `carts`.`product_id` ='$key' AND  cart_session='$sessionID'");
    }
}
4

2 に答える 2

0

ループ内のループは、n*n 回の更新クエリを提供します

しかし、実際にはクエリをn回更新する必要があります

だから、このようにします:

$pids     = array_keys($_REQUEST['new_quantity']); /// here you will get all product_ids

for($i=0; $i<count($_REQUEST['new_quantity']);$i++){
   echo $_REQUEST['new_quantity'][$pids[$i]]; // this quantity
   echo $_REQUEST['totalcost'][$pids[$i]]; // total cost
   echo $pids[$i]; // product id

   /// add your update query here all details you need in query are echoed above.
}
于 2013-02-28T12:35:41.163 に答える
-1

1 つのことをしようとすると、数量用に 1 つの配列を作成し、コスト用に 1 つの配列を作成します

お気に入り

$qt=array();
foreach($_REQUEST['new_quantity'] as  $key => $quantity) {
$qt[].=$quantity;
}

$ct=array();
foreach($_REQUEST['totalcost'] as $key => $total) {
$ct[].=$total;
}

次に、for ループで更新クエリを実行します

于 2013-02-28T12:40:37.507 に答える