如何将购物车中的多个项目插入表格中?
Posted
技术标签:
【中文标题】如何将购物车中的多个项目插入表格中?【英文标题】:How to insert multiple items from a cart into a table? 【发布时间】:2019-04-09 10:43:21 【问题描述】:此购物车代码从商店页面获取多个商品,并将它们完美地显示在此购物车页面上。
我想知道如何将这些购物车变量传输到名为 orders 的表中。
由于某种原因,我一直在弄清楚如何将单个数据实例输入到订单表中 - 如果我能弄清楚这一点,那么如何一次输入多条记录应该很容易。
我认为这是在正确的轨道上,我已经回应了以下变量。但它只会呼应购物车中的最后一件事。
$name = $product['name'];
$quantity = $product['quantity'];
$productprice = $product['price']
我正在测试如何通过插入来自 order-process.php 的虚拟数据来输入此字符串,该数据检查是否在 cart.php 上处理了提交按钮。
foreach($_SESSION['shopping_cart'] as $key => $product):
?>
<tr>
<td><?php echo $product['name']; ?></td>
<td><?php echo $product['quantity']; ?></td>
<td>$ <?php echo $product['price']; ?></td>
<td>$ <?php echo number_format($product['quantity'] *
$product['price'], 2); ?></td>
</tr>
<?php
echo $name;
echo $quantity;
echo $total;
$query = "insert into products values('$name','$quantity',
'$total')";
$query_run = mysqli_query($con,$query);
?>
<form method="POST" action="order-process.php" name = "submit "
value = "submit">
</form>
<?php
session_start();
require_once('dbconfig/config.php');
if(isset($_post['submit']))
$SQL = "INSERT INTO orders (name, quantity, total) VALUES
('abc','10', '75')";
$result = mysql_query($SQL);
?>
我想学习如何插入 dummythis 虚拟数据, 理想情况下,我想弄清楚如何从 cart.php 中提取购物车变量,并为用户在该购物车中的任何内容提取多个插入行。
【问题讨论】:
使用foreach
插入多条数据
问题是我不知道该怎么做,我把它作为一个模板来学习 php。我的主要问题是我无法使用 order-process.php 将假字符串插入数据库。如果我可以插入一行,我会尝试一个 for-each 循环。
警告:您对SQL Injections 持开放态度,应该真正使用参数化的prepared statements,而不是手动构建查询。它们由PDO 或MySQLi 提供。永远不要相信任何类型的输入,尤其是来自客户端的输入。即使您的查询仅由受信任的用户执行,you are still in risk of corrupting your data。
您将mysql_*
和mysqli_*
函数混合在一起。它们不能相互使用,并且mysql_*
在 PHP 中不再存在。
【参考方案1】:
我对 php 比较陌生,但我确信这已经足够接近我能想到的答案了。
您不需要两个 php 文件来处理购物车项目,您可以将项目插入到与 cart.php 相同页面上的产品表中。下一步是将此插入语句放入 for 循环中,以便该购物车中的变量将该购物车中的每个商品放入 products 表中。
<form method="post">
<input type="submit" name="submit" value="submit"/>
</form>
<?php
if(isset($_POST['submit']))
$SQL = "INSERT INTO orders (name, quantity, total, orderdate) VALUES ('abcdef', '100', '715', NOW())";
$result = mysqli_query($con, $SQL);
?>
【讨论】:
以上是关于如何将购物车中的多个项目插入表格中?的主要内容,如果未能解决你的问题,请参考以下文章
PayPal IPN 适用于单个购物车项目,但不适用于多个购物车项目
如何通过单击按钮将 Listview 中的数据传递到购物车列表(新活动)。我插入到 listview 的数据正在使用 SQLite