我現在有這個循環,但它涉及調用數據庫5到10次。有沒有一種方法我可以只調用一次,或許有一段時間循環,或任何其他任何人都可以想到的替代方法,因爲它會減慢行動。將foreach更改爲while循環以保存mysql查詢
foreach($_SESSION['cart_array'] as $each_item) {
$item_id = $each_item['item_id'];
$each_quantity = $each_item['quantity'];
$item_qry = mysql_query("SELECT * FROM `products` WHERE `products_id`=$item_id");
$item_row = mysql_fetch_assoc($item_qry);
$product_price = $item_row['products_price'];
$total_price += $product_price * $each_quantity;
}
我將$ data重命名爲$ item,因爲我認爲這是一個錯誤,但是我得到了「注意:未定義偏移:275在C:\ xampp \ htdocs \ customers \ msl \ test-array3.php on line 19」 – Source
@源是啊,只是修好了,對不起。它現在工作嗎? – bwoebi
你也可以建立一個CSV值列表,並使用'WHERE products_id IN(1,2,3,4,5)' – Scuzzy