这是我的购物车代码,我将所有值保存到全局购物车会话数组中。 这是我的代码:
$cartOutput = "";
$cartTotal = "";
$pp_checkout_btn = '';
$product_id_array = '';
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
$cartOutput = "<h2 align='center'>Your shopping cart is empty</h2>";
} else {
// Start PayPal Checkout Button
//$pp_checkout_btn .= '<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
//<input type="hidden" name="cmd" value="_cart">
//<input type="hidden" name="upload" value="1">
//<input type="hidden" name="business" value="you@youremail.com">';
// Start the For Each loop
$i = 0;
foreach ($_SESSION["cart_array"] as $each_item) {
$item_id = $each_item['item_id'];
$sql = mysql_query("SELECT * FROM products WHERE id='$item_id' LIMIT 1");
while ($row = mysql_fetch_array($sql)) {
$product_name = $row["product_name"];
$price = $row["price"];
$details = $row["details"];
}
$pricetotal = $price * $each_item['quantity'];
$cartTotal = $pricetotal + $cartTotal;
//setlocale(LC_MONETARY, "en_US");
//$pricetotal = money_format("%10.2n", $pricetotal);
// Dynamic Checkout Btn Assembly
$x = $i + 1;
$pp_checkout_btn .= '<input type="hidden" name="item_name_' . $x . '" value="' . $product_name . '">
<input type="hidden" name="amount_' . $x . '" value="' . $price . '">
<input type="hidden" name="quantity_' . $x . '" value="' . $each_item['quantity'] . '"> ';
// Create the product array variable
$product_id_array .= "$item_id-"."$product_name".$each_item['quantity'].",";
// Dynamic table row assembly
$cartOutput .= "<tr>";
$cartOutput .= '<td><a href="product.php?id=' . $item_id . '">' . $product_name . '</a><br /><img src="inventory_images/' . $item_id . '.jpg" alt="' . $product_name. '" width="40" height="52" border="1" /></td>';
$cartOutput .= '<td>' . $details . '</td>';
$cartOutput .= '<td>Rs ' . $price . '</td>';
$cartOutput .= '<td><form action="cart.php" method="post">
<input name="quantity" onkeypress="return onlyNos(event,this);" type="text" value="' . $each_item['quantity'] . '" size="1" maxlength="2" />
<input name="adjustBtn' . $item_id . '" type="submit" value="change" />
<input name="item_to_adjust" type="hidden" value="' . $item_id . '" />
</form></td>';
//$cartOutput .= '<td>' . $each_item['quantity'] . '</td>';
$cartOutput .= '<td>' . $pricetotal . '</td>';
$cartOutput .= '<td><form action="cart.php" method="post"><input name="deleteBtn' . $item_id . '" type="submit" value="X" /><input name="index_to_remove" type="hidden" value="' . $i . '" /></form></td> ';
$cartOutput .= '</tr>';
$i++;
}
现在这是我用于在购物车页面上呈现它的购物车数组。 现在我如何从购物车数组中获取值。
答案 0 :(得分:0)
我不知道您是否创建了有关订单的内容,但通常,您首先需要创建数据库表和关系。例如,您将拥有表顺序,并且还将具有表order_item。它们之间的关系是一对多的,这意味着订单可以包含许多商品,而一个商品只能包含一个订单。
除此之外,你的系统中有产品,所以我猜你已经创建了产品表。您还可以在product和order_item之间建立关系。关系再次是一对多,一个项目可以有一个产品,产品可以有很多项目。
所以,db应该是这样的:
order table:
id
value
customer_email
...
order_item table:
id
order_id
product_id
...
一个非常好的做法是当您创建order_item表时,将产品中的所有数据放入order_item表中,如名称,价格,税,....
这很重要,因为您需要将这些数据设为历史数据,否则您可能会失去价格。所以你的order_item表可能看起来是:
order_item table:
id
order_id
product_id
name
price
...
我们假设您在order_item中只有product_id作为外键,因为您可能会想到&#34;好的,当我需要检查一个订单中的商品并需要查看价格时,我可以得到它通过外键并从产品表中抓取&#34;。但是如果你改变产品表中的价格会发生什么?那么你可能会因订单创建时的永久价格而失败。
这将是开始,之后你可以很容易地从sql查询获取订单和order_item表中的所有订单信息