【发布时间】:2017-04-11 22:44:53
【问题描述】:
我正在学校做一项作业,我们应该模拟一个网络零售商店,该商店通过 PHP 将产品从数据库发送到最终用户。然后,用户应该能够通过复选框将产品添加到购物车,然后按一个按钮将它们带到购物车,其中只有产品表中的选定项目应该显示。
我已经取得了一些很大的进步,但我被困在这个很小的问题上,即:我无法弄清楚如何在表格中呈现所选项目。让我向您展示我的产品表现在的样子:
还有代码:
<form action="selected_products.php" method="POST">
<table>
<tr>
<th>Select</th>
<th>Product-ID</th>
<th>Product Name</th>
<th>Price SEK</th>
<tr>
<?php
// Print out all entries in a table
foreach ($rows as $value) {
extract($value);
echo "<tr><td><input type='checkbox' name='SelectedData[]' alt='Checkbox' value='$id&$name&$price'></td>";
echo "</td><td>".$id.'';
echo "</td><td>".$name.'';
echo "</td><td>".$price.'';
echo "</td></tr>";
}
?>
</table>
<br>
<input type="submit" value="Add to cart" />
</form>
当用户选择带有复选框的产品并按下按钮时,它会将它们带到selected_products.php 页面,如下所示:
还有代码:
<table>
<tr>
<th>Product-ID</th>
<th>Product Name</th>
<th>Price SEK</th>
<tr>
<?php
if(!empty($_POST['SelectedData'])) {
foreach($_POST['SelectedData'] as $selected) {
echo "<tr><td>".$selected.'';
echo "</td></tr>";
}
}
?>
所以,我的问题是:如何让选定的产品填满整个表格,而不是像现在这样被塞进一列?我确实使用value='$id&$name&$price' 传递它,但是如何使这个值字符串将每个条目放在selected_products.php 页面上的相应列中?
【问题讨论】:
-
你需要通过explode函数拆分字符串,但是如果你的产品名称是
L&T或者H&P呢? -
value='$id|$name|$price' -
不要使用“&”,就像@mplungjan说的那样,使用管道“|”用于内爆一组值。
-
我建议使用自定义分隔符,而不是像
&、|等单个字符,例如~!~