Когда пользователь покупает продукт (позволяет сказать, что у них есть 3 модели), и они набрали свою информацию, устройство автоматически переходит в базу данных со статусом = 0.добавить новый сессионный продукт - PHP
Если пользователь уходит из корзины, позволяет входить в обзор продукта (и покупать дополнительный продукт, теперь у них есть 4 продукта в корзине).
Мне нужно выяснить, как добавить новый продукт в базу данных, а не вставлять все продукты + новый, потому что 3 продукта уже вставлены.
$_SESSION['inserted_ids'] = array();
$id = '';
if(in_array($id, $_SESSION['inserted_ids'])){
return;
}else{
$id = $db->Insert("INSERT INTO orders SET
name = '". $_SESSION['information']['name'] ."',
address = '". $_SESSION['information']['address'] ."',
date = '". Database::Now() ."',
phone = '". (isset($_SESSION['information']['phone']) ? $_SESSION['information']['phone']:'') ."',
email = '". $_SESSION['information']['email'] ."',
city = '". $_SESSION['information']['city'] ."',
zipcode = '". $_SESSION['information']['zipcode']."'
");
$_SESSION['inserted_ids'][] = (int) $id;
# lists products
$list = '';
$grand_total = '';
$res = $db->Execute("sql with product_id");
while($row = $res->GetNext()){
if($row['product_id'] == $_SESSION['inserted_ids']){
$db->Execute("INSERT INTO order_lines SET
price = '$round_price',
order_id = $id,
product_id = $product_id,
product_name = '$product_name',
units = '$grand_units',
status = '0',
date = '".Database::Now()."',
item_num = '".$item_num."';
ON DUPLICATE KEY UPDATE SET
units = '$grand_units'
WHERE order_id = $id
LIMIT 1;
");
}
}
}
Вы дали нам неправильный пример кода? Потому что я не вижу часть, в которую продукт вставляется в вашу базу данных. Было бы бессмысленно, если бы вы снова ввели информацию о пользователе. – svens
Хмм .. Установка вставленного флага в сеансе var может быть дешевым, но рабочим решением. – svens