PHP for function获取POSTED值

时间:2013-08-08 21:58:12

标签: php

我有这个PHP / HTML代码:

<form method="post" action="create_quote2.php">
<table width="800" border="0" cellspacing="5" cellpadding="5">
  <tr>
    <td><strong>Select</strong></td>
    <td><strong>Image</strong></td>
    <td><strong>Name</strong></td>
    <td><strong>Sale Price</strong></td>
    <td><strong>Quantity</strong></td>
  </tr>
<?php
$sql="SELECT * from products ";
$rs=mysql_query($sql,$conn) or die(mysql_error());
$counter=0;
while($result=mysql_fetch_array($rs))
{
    $counter++;
    echo '<input type="hidden" name="product'.$counter.'" value="'.$_POST["checkbox$i"].'" />';
    echo '<tr>
                <td><input type="checkbox" value="'.$result["sequence"].'" name="checkbox'.$counter.'" /></td>
                <td>Image</td>
                <td>'.$result["title"].'</td>
                <td>&pound;'.$result["saleprice"].'</td>
                <td><input type="text" name="qty" id="qty" size="20" /></td>
              </tr>';
}
echo '<input type="hidden" name="counter" value="'.$counter.'" />';
?>
</table>
<input type="submit" name="submit" value="Next" />
</form>

所以当选中复选框时,请转到下一页,其中包含以下代码:

<table width="800" border="0" cellspacing="5" cellpadding="5">
  <tr>
    <td><strong>Image</strong></td>
    <td><strong>Title</strong></td>
    <td><strong>Sale Price</strong></td>
    <td><strong>Trade Price</strong></td>
    <td><strong>Quantity</strong></td>
    <td><strong>Total Cost</strong></td>
  </tr>
<?php
for($i=1; $i<=$_POST["counter"]; $i++)
{
    if($_POST["checkbox$i"])
    {
        $counter++;
        $sql="SELECT * from products where sequence = '".$i."' ";
        $rs=mysql_query($sql,$conn) or die(mysql_error());
        $result=mysql_fetch_array($rs);     
        echo '<tr>
                    <td>Image</td>
                    <td>'.$result["title"].'</td>
                    <td>&pound;'.$result["saleprice"].'</td>
                    <td>&pound;'.$result["tradeprice"].'</td>
                    <td>&nbsp;</td>
                    <td>&nbsp;</td>
                  </tr>';   
    }
}
?>
</table>

它工作正常并从产品表中选择所有正确的产品,但我需要一种方法来获取每行的过帐数量值。

如何在第二页上显示过帐的数量值?

P.S。我不担心这段代码的SQL注入...

2 个答案:

答案 0 :(得分:1)

在第一页上使用<input type="text" name="qty'.$counter.'" id="qty'.$counter.'" size="20" />

然后相关单元格中的$_POST["qty{$counter}"]$_POST['qty'.$i]

作为旁注,您可能会发现使用HEREDOC结构更容易,这样您就不必继续添加引号来回应:

echo <<<BLOCK
<tr>
    <td>Image</td>
    <td>{$result["title"]}</td>
    <td>&pound;{$result["saleprice"]}</td>
    <td>&pound;{$result["tradeprice"]}</td>
    <td>Quantity - {$_POST['qty'.$i]}</td>
    <td>&nbsp;</td>
</tr>

BLOCK;

我发现HEREDOC很有帮助,因为引号并没有如此混杂在一起

答案 1 :(得分:0)

为了让您的数量发生变化:

<input type="text" name="qty" id="qty" size="20" />

<input type="text" name="qty'.$counter.'" id="qty" size="20" />

然后以与其他输入相同的方式引用。