안녕하세요 아래 코드를 사용하여 동일한 pid, 길이 및 카테고리가있는 항목이 장바구니에 이미 있는지 확인하고 있으면 항목 수를 조정해야합니다. 문제는 수량이 증가하는 대신 동일한 pid, 길이 및 카테고리가있는 항목을 추가하는 경우입니다. 쇼핑 바구니에 새 제품으로 추가됩니다.항목 금액 조정 실패
NOTE: An item has the same pid but it comes in different sizes and category.
if (isset($_POST['pid'])) {
$pid = $_POST['pid'];
$length = $_POST["size"];
$qty = $_POST['Qty'];
$Category = $_POST['Category'];
$wasFound = false;
$i = 0;
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
} else {
foreach ($_SESSION["cart_array"] as $each_item) {
$i++;
while (list($key, $value, $ilength, $pcategory) = each($each_item)) {
if ($key == "item_id" && $ilength == $length && $pcategory == $Category && $value == $pid) {
array_splice($_SESSION["cart_array"], $i-1, 1, array(array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $each_item['quantity'] + 1)));
$wasFound = true;
}
}
}
if ($wasFound == false) {
array_push($_SESSION["cart_array"], array("item_id" => $pid, "length" => $length, "Category" => $Category, "quantity" => $qty));
}
}
header("location: cart.php");
exit();
}
?>
이 DevZer0 U 무엇 @ 귀하의 요구 사항 – DevZer0
에 대한 테스트 조건을 추가 코드를 테스트 제발? – Emily
array_splice()가 거기에 있어야하는지 아니면 stackoverflow misstype이 맞지 않는지 확신 할 수 없다면 – KyleK