【问题标题】: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,而不是手动构建查询。它们由PDOMySQLi 提供。永远不要相信任何类型的输入,尤其是来自客户端的输入。即使您的查询仅由受信任的用户执行,you are still in risk of corrupting your data
  • 您将mysql_*mysqli_* 函数混合在一起。它们不能相互使用,并且mysql_* 在 PHP 中不再存在。

标签: php sql mysqli


【解决方案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);
}

?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-05
    • 2018-02-15
    相关资源
    最近更新 更多