【问题标题】:how can I also get the quantity in the foreach loop?我怎样才能在 foreach 循环中获得数量?
【发布时间】:2015-08-10 13:10:05
【问题描述】:

我有下一个代码:

<?php

$rezOrders = mysqli_query($kon, "SELECT * FROM orders WHERE user_id = ". $user_id ." AND status = 0 ORDER BY id DESC LIMIT 1");
$redOrders = mysqli_fetch_assoc($rezOrders);

$rez = mysqli_query($kon, "SELECT shops.*, shops.naam as shopNaam, shops.id as shopId, shops.producten as shopEtalage, shops.bestel_extra as extra, shops.googlemaps as maps, 
                                          producten.*, producten.naam as prodNaam, producten.details as prodDetails, producten.id as prodID,
                                          product_shop_tt.*, product_shop_tt.price as prodPrijs, 
                                          order_details.*, order_details.aantal as aantal, order_details.id as orderDetID,
                                          type.*, type.naam as typeNaam 
                                          FROM order_details INNER JOIN product_shop_tt ON order_details.product_shop_tt_id = product_shop_tt.id
                                          INNER JOIN shops ON shops.id = product_shop_tt.shop_id
                                          INNER JOIN producten ON producten.id = product_shop_tt.product_id 
                                          INNER JOIN type ON type.id = shops.type_id 
                                          WHERE order_id = ". $redOrders["id"] ."");

$i = 1;
while($red = mysqli_fetch_assoc($rez)){

    echo "<form action=\"bestellen.php?order_detail_id=". $red["orderDetID"] ."\" method=\"post\">";
    echo "<input class=\"hidd\" type=\"hidden\" name=\"txtHidd[". $red["prodID"] ."][kolicina]\" id=\"txtHidd". $i ."\" value=\"". $red["aantal"] ."\"/>";
    echo "<div class=\"col-xs-12 col-sm-12\" style=\"padding:0;\">
                  <div class=\"col-sm-2 col-xs-5\" style=\"margin-left:-10px;\" style=\"padding:0 0 0 3px;\">
                    <div class=\"form-group\">
                        <input id=\"quan". $i ."\" class=\"form-control\" type=\"number\" value=\"". $red["aantal"] ."\" onChange=\"proces('quan".$i."', 'txtHidd".$i."'); \"/>
                    </div>
                  </div>
                  <div class=\"col-sm-8 col-xs-5\" style=\"padding:0;\">
                    ". $red["prodNaam"] ." (<strong>". $red["prodPrijs"] ."</strong>€) -- ". $red["prodDetails"] ."
                  </div>
                  <div class=\"col-sm-1 col-xs-1\" style=\"padding:0;text-align:right;\">
                    x
                  </div>
                   <div class=\"col-sm-1 col-xs-1\" style=\"padding:0;text-align:right;\">
                    <input type=\"checkbox\" name=\"chcWeek[". $red["prodID"] ."][]\" id=\"chcWeek\">
                  </div>      

                  </div>";
                  $i++;
        }
        //Dugme za potvrdu narudzbe
         echo "<div style=\"clear:both;\"></div><div class=\"footer\" style=\"position: fixed;bottom: 0;width: 100%;left:0;\">
                <button type=\"submit\" class=\"col-xs-12 col-sm-12 btn btn-danger\" title=\"Bestel uw artikelen\">
                    Plaats bestelling <span class=\"glyphicon glyphicon-chevron-right\"></span>
                </button>
            </div>";
            echo "</form>";


?>

我的 bestellen.php 是:

<?php
session_start();
include("config.php");
global $kon;
ob_start();

//Ovdje provjeravamo koji checkboxes su selektovani
if(!empty($_POST['chcWeek'])){
    foreach ($_POST["chcWeek"] as $idProdChc => $prodIdChc) {
        foreach($prodIdChc as $checkbox){
            echo "Za id : ". $idProdChc ." Checkbox je ". $checkbox . "";
        }
    }
}

ob_flush();
}

bestellen.php 中,如果选中该复选框,我将获得产品的 ID 和 ON。但是我怎样才能得到这个foreach循环中的数量呢?

如果复选框被选中,我想获取产品的 ID 以及该产品的数量。但我不能。我可以使用其他 foreach 循环从隐藏字段中获取产品 ID 和数量,但我无法将这三个放在一起。

提前致谢。

我有这样的事情:

在我的 bestellen.php 文件中,我得到了下一个结果

如何获取 bestellen.php 文件中输入字段的值(本例中为 3)?

【问题讨论】:

  • 试试count($_POST["chcWeek"])
  • 感谢您的回复。我会用 count($_POST["chcWeek"]) 得到什么?仅选中复选框的结果数。但我需要输入字段中的数量值。
  • 请发布您的 HTML。你的问题我还没有弄清楚。
  • 这是第一个代码。那是我的 html 文件。
  • @Hassan 我贴了两张照片。我希望你现在明白我的意思了吗?

标签: php checkbox


【解决方案1】:

据我了解,您希望在 foreach 循环中获得以下输入值:(为了便于阅读,我将 \" 替换为 '

<input id='quan". $i ."' class='form-control' type='number' value='". $red["aantal"] ."' onChange='proces('quan".$i."', 'txtHidd".$i."'); '/>

我在输入中没有看到 name="" 值,因此您必须先添加它:

<input name='quan".$i."' id='quan". $i ."' class='form-control' type='number' value='". $red["aantal"] ."' onChange='proces('quan".$i."', 'txtHidd".$i."'); '/>

然后更新您的处理 php 代码以包含您的 $i 变量和复选框。

//Ovdje provjeravamo koji checkboxes su selektovani
if(!empty($_POST['chcWeek'])){
   $i = 1;
    foreach ($_POST["chcWeek"] as $idProdChc => $prodIdChc) {
        foreach($prodIdChc as $checkbox){
            echo "Za id : ". $idProdChc ." Checkbox je ". $checkbox . "";
            echo $_POST['quan'.$i]; // Your quantity in the input
            $i++;
        }
    }
}

我相信这就是您获得数量的方式。 (或者也许你会把它移到外部的 foreach 而不是内部的?这对我来说似乎太复杂了。)

【讨论】:

    猜你喜欢
    • 2013-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 2019-07-13
    • 2014-05-14
    • 2020-06-07
    • 2011-06-04
    相关资源
    最近更新 更多