在另一个PHP页面中将变量从一个表传递给另一个表格

前端之家收集整理的这篇文章主要介绍了在另一个PHP页面中将变量从一个表传递给另一个表格前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
参见英文答案 > PHP table from explode array2
我在学校做一个任务,我们应该模拟一个网络零售商店,通过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()来解决这个问题.
foreach($_POST['SelectedData'] as $selected) {
    list($id,$name,$price) = explode("&",$selected);
    echo "<tr><td>".$id.'';
    echo "</td><td>".$name.'';
    echo "</td><td>".$price.'';
    echo "</td></tr>";
}

但这是一个相当糟糕的主意,因为它允许每个人都用它们想要的东西来填补它.这是因为每个人都可以发送任何需要的内容的发布请求.更好的方法是将选择设置为项目的ID,然后使用项目的ID再次从数据库读取所需的数据.这样只能显示数据库中的项目.

原文链接:https://www.f2er.com/php/132919.html

猜你在找的PHP相关文章