0
我一直在思考這個一段時間,無法想象如何執行。分組項目屬性是一個購物車
問題 - 我已經建立了其運作良好,並存儲每個項目在數據庫中ROW(id_cart,id_session,id_product,PRODUCT_NAME,qty_product,cart_price,cart_size,cart_variety,DATE_ADDED)推車機制。但是,當前輸出很好,當表中有兩個項目出現在具有相同id_session和id_product的表中時,我不想重複product_name,除了向qty_product,cart_size,cart_variety和子總計行添加第二行。
相關build_cart.php如下;
$display_block = '<div id="heading">Your Order</div>';
// Set cart subtotal to zero
$subtotal = 0;
//check for cart items based on user session id
$get_cart_sql = "SELECT * FROM store_cart WHERE id_session = '".$_COOKIE["PHPSESSID"]."'";
$get_cart_res = mysqli_query($dbConnect, $get_cart_sql) or die(mysqli_error($dbConnect));
if (mysqli_num_rows($get_cart_res) < 1) {
//print message
$display_block .= '
<div id="body"><div style="text-align:center; padding:10px; font-weight:bold;">Your cart is currently empty</div>';
} else {
//get info and build cart display
$display_block .= '<div id="body">';
while ($cart_info = mysqli_fetch_array($get_cart_res)) {
$id_cart = $cart_info['id_cart'];
$product_name = stripslashes($cart_info['product_name']);
$product_price = $cart_info['cart_price'];
$qty_product = $cart_info['qty_product'];
$size = $cart_info['cart_size'];
$variety = $cart_info['cart_variety'];
$product_total = sprintf("%.02f", $product_price * $qty_product);
$display_block .= '
<div>
<div id="cart_item">'.$product_name.'</div>
<div id="edit_remove"><a href="cart_remove.php?cartitem='.$id_cart.'">remove</a> | <a href="cart_edit.php?cartitem='.$id_cart.'">edit</a></div>
</div>
<br/>
<br/>
<div>
<div id="qty">'.$qty_product.' X '.$size.'</div>
<div id="cart_price">£'.$product_total.'</div>
</div>
<br/>
<br/>';
$subtotal += $product_total;
}
$display_block .= '</div>'; // Here to close "CART EMPTY div
$display_block .= '
<br/>
<div id="sub_body">
<div>
<div id="sub_titles">Cart Subtotal</div>
<div id="sub_price">£'.$subtotal.'</div>
</div>
<div>
<div id="sub_titles">Delivery</div>
<div id="sub_price">FREE</div>
<br/>
<div>
<div id="sub_titles">VAT</div>
<div id="sub_price">£'.$subtotal*0.2.'</div>
</div>
<div>
<div id="total">Order Total</div>
<div id="total_price">£'.$subtotal*1.2.'</div>
</div>
</div>
<div id="checkout">CHECKOUT</div>';
}
echo $display_block;
很大的反響@realshadow。我想出了一個具有所需結果的解決方法。當我有時間完善腳本時,我可能會考慮實施您的方法。購物車機制目前是[這裏](http://noff-group.com/dev)。我會對思想感興趣。 – Tom 2012-01-18 19:23:19
那麼,對於初學者,我會建議你保護自己免受SQL注入。例如看看如果我訪問這個URL地址會發生什麼http://noff-group.com/dev/product_details.php?product=11%20UNION%20SELECT%20username,%20password%20FROM%20USERS ....有足夠的修補程序我可能甚至能夠放棄你的產品表:) – realshadow 2012-01-19 16:08:46
謝謝@realshadow。我們到了那裏。雖然 - 可能是一個很好的預測。 – Tom 2012-01-20 13:20:23