Php 从项目中回显订单

Php 从项目中回显订单,php,mysql,shopping-cart,Php,Mysql,Shopping Cart,我在购物车中有一些在购物车中展示的物品。例如:我有3个不同的项目与数量 我设法将它发送到购物车页面,并将订单写入订单表 <?php ... $sql = "SELECT id_item, item, price FROM id_item WHERE id_item IN ("; foreach ($_SESSION['cart'] as $id => $value) { $sql .=$id.","; } $sql = substr($sql, 0

我在购物车中有一些在购物车中展示的物品。例如:我有3个不同的项目与数量 我设法将它发送到购物车页面,并将订单写入订单表

 <?php
 ...
 $sql = "SELECT id_item, item, price FROM id_item WHERE id_item IN (";
    foreach ($_SESSION['cart'] as $id => $value) {
       $sql .=$id.",";
    }
$sql = substr($sql, 0, -1).") ORDER BY item ASC";
$query =mysql_query($sql);
$total = 0;
while($row=mysql_fetch_array($query)) {
    $subtotal = $_SESSION['cart'][$row['id_item']]['quantity']*$row['price'];
    $total += $subtotal; 
?>
<tr>
    <td width="200px" style="padding-left:20px;"><?= $row['item'] ?></td>
    <td style="padding-left:20px;"><input type="text" name="quantity[<?= $row['id_item']?>]" size="5" value="<?= $_SESSION['cart'][$row['id_item']]['quantity']?>"</td>
    <td style="padding-left:20px;"><?= $row['price']?></td>
    <td style="padding-left:20px;"><?= $_SESSION['cart'][$row['id_item']]['quantity']*$row['price']?> kn</td>
</tr>
...
所以现在我想对三个不同的项目做如下处理:

 ORDERS
 1
 user1
 2014-01-01
 0

 ORD.ITEMS
 1
 1
 10
 5 

 ORD.ITEMS
 1
 2
 20
 3

 ORD.ITEMS
 1
 3
 30
 2

如何编写SQL查询,在完成订单写入表ORD.ITEMS三项之后?

我设法解决了我的问题,很简单。这是我解决问题的一种方法:

    $sqlMaxS = "SELECT MAX(id_ord_items) FROM ord.items";
    $resultMaxS = queryDB($sqlMaxS);
    $result = mysql_fetch_row($resultMaxS);
    $id_ord_items = $result['0'];
    $id_ord_items++;


    $sql = "SELECT * FROM items WHERE id_item IN (";

    foreach ($_SESSION['cart'] as $id => $value) {
        $sql .=$id.",";
    }

    $sql = substr($sql, 0, -1).") ORDER BY name ASC";

    $query =mysql_query($sql);

    while($row=mysql_fetch_array($query)) {

        $sql = "INSERT INTO ord.items (id_order, id_ord_items, item, quantity)
                VALUES ('$id_order', '$id_ord_items', {$row['id_item']}, {$_SESSION['cart'][$row['id_item']]['quantity']})";
    $stavka++;
    queryDB($sql);

如上所述,我使用while循环

你会有一个确认页面来添加订单吗?是的,我会的。所有这些我都打算在确认页面上实现。所以开始创建它,如果您发现任何问题,我们将在这里帮助您解决任何问题。只是一个提示,您可以在购物车数组中循环并插入订单和产品详细信息。谢谢!我明白了。顺便说一句,恶意用户有机会对您的服务器进行大规模SQL注入攻击。由于这是一个电子商务系统,我强烈建议您查看您的安全性,并考虑使用编写的语句使用<代码> MySQL LI*<代码>或<代码> PDO< /代码>。code>mysql.*命令已弃用,不应使用。
    $sqlMaxS = "SELECT MAX(id_ord_items) FROM ord.items";
    $resultMaxS = queryDB($sqlMaxS);
    $result = mysql_fetch_row($resultMaxS);
    $id_ord_items = $result['0'];
    $id_ord_items++;


    $sql = "SELECT * FROM items WHERE id_item IN (";

    foreach ($_SESSION['cart'] as $id => $value) {
        $sql .=$id.",";
    }

    $sql = substr($sql, 0, -1).") ORDER BY name ASC";

    $query =mysql_query($sql);

    while($row=mysql_fetch_array($query)) {

        $sql = "INSERT INTO ord.items (id_order, id_ord_items, item, quantity)
                VALUES ('$id_order', '$id_ord_items', {$row['id_item']}, {$_SESSION['cart'][$row['id_item']]['quantity']})";
    $stavka++;
    queryDB($sql);