0

php&mysqlを使用して請求書アプリを開発しています。請求書を提出した後の私の問題は、数量行をデクリメントしたいです。このコードはほぼ完成です

html

<input type="text" name="qty[]" class="productQty"/>
<input type="text" name="product_id[]" class="productId" readonly/>

php

<?php 
$result1 = mysql_query("SELECT * FROM items");
if (!$result1) {
    die("Query to show fields from table failed");
}
$qty = $_POST["qty"];
$qtys = array_values($qty);
$id= $_POST["product_id"];
$ids = array_values($id);
foreach (array_combine($qtys, $ids) as $id => $qty) {
    $show_id =  $id;
    $quantity =  $qty;
    echo "<p><b>" . $show_id . "</b></p>";
    echo "<p><b>" . $quantity . "</b></p>";
    /*
    $stock_update = "Update items set Stock= stock - '$quantity' where ID='$show_id'";
    if (mysqli_query($con, $stock_update)) {
        echo "stock done";
    } else {
        echo "Error creating table: " . mysqli_error();
    }
    */
}

?>

結果 1BKK01
_

2
PEN01

しかし、問題は数量の値が等しいかどうかです。結果 1PEN01
_

最初のアイテムを表示できません。

4

1 に答える 1

0

変化 :

foreach (array_combine($qtys, $ids) as $id => $qty) {

に :

foreach (array_combine($ids, $qtys) as $id => $qty) {

IDと数量が適切な順序になっていない。また、あなたのIDは一意のものになると思いますので、問題はありません。

array array_combine ( array $keys , array $values )

参照:http://php.net/manual/en/function.array-combine.php

于 2013-03-26T11:47:52.597 に答える