У меня проблема со скриптом, который управляет системой заказов, которую я создаю.
Система содержит функцию поиска, которая запрашивает предоставленную пользователем строку по продуктам, хранящимся в таблице mysql, если строка соответствует части описания элементов, тогда этот элемент возвращается в результате.
Теперь проблема в следующем.
Если пользователь ищет строку, которая возвращает, скажем, 5 результатов.
Затем пользователь решает, что он хотел бы добавить 3 из одного результата и 2 из другого результата.
Затем они нажимают на заказ, который отправляет форму.
Здесь возникает проблема, поскольку в заказ добавляется только первый результат, для которого пользователь ввел количество.
Заказ должен содержать два предмета, один с количеством 3, а другой с количеством 2. Он этого не делает, и я понятия не имею, что здесь происходит.
Вот код, который контролирует случай, когда пользователь нажимает кнопку заказа:
if (!isset($_SESSION['order']))
{
$_SESSION['order'] = array();
}
if (!isset($_SESSION['quantity']))
{
$_SESSION['quantity'] = array();
}
$productQuantities=$_POST['quantity'];
if (isset($_POST['action']) and $_POST['action'] == 'Order' and $productQuantities > 0)
{
foreach($productQuantities as $productId=>$quantityS)
{
if ($quantityS > 0)
{
$_SESSION['order']["$productId"] = $productId;
$_SESSION['quantity']["$productId"] = $quantityS;
header('Location: .');
exit();
}
}
}
Кто-нибудь может увидеть, где я совершаю ошибку в этом?
Будем благодарны за любые вводимые данные, и я предоставлю любой дополнительный код по запросу.
Спасибо!