PHP foreach combine_array - 相同的值问题

时间:2013-03-26 11:46:09

标签: php mysql

我正在使用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();
    }
    */
}

?>

结果
1
BKK01

2
PEN01

但问题是数量值是否相等。现在的结果
1
将Pen01

无法显示第一项。

1 个答案:

答案 0 :(得分:0)

更改:

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

到:

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

您的身份和数量不正确。而且,我猜你的id将是一个独特的,所以不会有任何问题

array array_combine ( array $keys , array $values )

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