【发布时间】:2016-08-26 06:58:46
【问题描述】:
我正在开发一个简单的 PHP 页面,这是我的一小部分代码无法正常工作。
我想使用 DB 并打印一些产品,并且对于每个产品,我想显示一个“购买”按钮。
如果我按下此按钮,则必须使用产品 ID 设置隐藏输入(稍后必须将其发送到另一个页面)。
但是,如果我使用var_dump来控制(如果我的数据是正确的),我可以看到ID是错误的(我看到它总是显示在最后)
<form id="products_list" method="post" action="step2.php">
<table>
<tr>
<td align="center">Immagine</td>
<td align="center">Nome prodotto</td>
<td align="center">Descrizione prodotto</td>
<td align="center">Prezzo unitario</td>
<td align="center">Taglie disponibili</td>
<td align="center">Colori disponibili</td>
<td align="center">Nickname disponibili</td>
</tr>
<?php
$product = mysqli_query($mysqli, "SELECT * FROM products");
while ($row = mysqli_fetch_array($product)) {
$id = $row[id_products];
print("
<tr>
<td align=\"center\">".$row[img_products]."</td>
<td align=\"center\">".$row[name_products]."</td>
<td align=\"center\">".$row[description_products]."</td>
<td align=\"center\">".$row[price_products]."</td>
<td align=\"center\">".$row[size_products]."</td>
<td align=\"center\">".$row[color_products]."</td>
<td align=\"center\">".$row[nick_products]."</td>
<input type=\"hidden\" name=\"id_products\" value=\"".$id."\"/>
<td><input type=\"submit\" name=\"buy\" value=\"Acquista\"/></td>
</tr>");
}
?>
</table>
</form>
【问题讨论】:
-
你在什么阶段使用
var_dump?在这个while循环中还是在按下按钮之后? -
目前你有一个循环,其中
N隐藏字段都具有相同的名称,即id_products这就是为什么你总是得到最后一个,因为这是加载到单个 dom 中的最后一个值元素
标签: php mysql session post mysqli