每个都使用PHP从表中获取动态值

时间:2012-03-13 18:44:38

标签: php foreach

自从我看了php以来,我已经有一段时间了。我正在尝试使用foreach从表中获取值,以便我可以将值存储在会话中,并显示已订购的项目数。

例如4号项目中的2等

这是表格/表格

        <form id="products" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <?php 
                //every item from the products table is queried because all fields need to be displayed
                $sSQL = "SELECT * FROM products";
                $rsResult = mysql_query($sSQL);
            ?>
            <table id="products_table">
                <tr style="font-weight:bold">
                    <td style="text-align:center">ID</td>
                    <td>Ref No.</td>
                    <td>Product Name</td>
                    <td>Description</td>
                    <td style="text-align:right">Price</td>
                    <td colspan='2' style='text-align:center'>Add To Order</td>

               </tr>
            <!--for each record in the table that matches the query a row is created in the table and the data in the relevant field is displayed-->   
            <?php while ($row = mysql_fetch_array($rsResult)){ ?>
                <tr>
                <input type="hidden" name="productID[<? echo $row['productID']; ?>]" value="<? echo $row['productID']; ?>" />
                    <td style="text-align:center"><? echo $row['productID']; ?></td>
                    <td><? echo $row['productReference']; ?></td>
                    <td><? echo $row['productName']; ?></td>
                    <td><? echo $row['productDescription']; ?></td>
                    <td style="text-align:right"><? echo '£'. $row['productPrice']; ?></td>

                    <td style="text-align:center"><span>Qty</span><input type='text' name="qty[<? echo ($_POST['qty']); ?>]" value="" ></td>
           <? } ?> 
            </table>

继承人的PHP

 <?php 
          foreach($_POST as $key => $value){
              echo $key . ' ' .$value.'<br />';
              print_r($key);
          }
?>

我知道php并不适合填充会话等,我只是无法弄清楚如何从表单中获取值。这个php是我尝试尝试并至少从中获得某种价值

非常感谢任何帮助

2 个答案:

答案 0 :(得分:1)

在您的代码中,不需要

 <input type="hidden" name="productID[<? echo $row['productID']; ?>

字段。 也改变了行

<td style="text-align:center"><span>Qty</span><input type='text' name="qty[<? echo ($_POST['qty']); ?>]" value="" ></td>

<td style="text-align:center"><span>Qty</span><input type='text' name="qty[<? echo ($row['productID']); ?>]" value="" ></td>

以便在提交表单后,您可以使用以下方式访问发布的值:

 $sSQL = "SELECT * FROM products";
 $rsResult = mysql_query($sSQL);
 while ($row = mysql_fetch_array($rsResult))
 {
     echo $_POST['qty'.$row['productID']];
 }

答案 1 :(得分:1)

为什么不直接在具有正确名称的输入中显示数据?