2017-01-01 1 views
0

Я добавляю идентификатор моего продукта в массив сеансов при нажатии кнопки «Добавить в корзину». Как настроить мой запрос, чтобы перебрать все значения id в моем массиве. На данный момент я только что добавил переменную сеанса в запрос, но, очевидно, это не сработает.Зацикливание через сеансовый массив для создания корзины покупок

Код:

$_SESSION['cart'] = array(); 

    array_push($_SESSION['cart'], $_GET['theid']); 


    $query = "Select * From Products WHERE ProdID = '$_SESSION['cart']'"; 
+0

'взрывать (' ' $ _SESSION [' телега']) '->', где PredID IN (1,2,3) ' – Jeff

ответ

1

Прежде всего, я думаю, вам нужно использовать IN оператора в вашем SQL запроса:

`SELECT * FROM Products WHERE ProdID IN (1,2,42, etc ...)` 

Как вы можете нажать идентификаторы в массиве и ваш запрос будет всегда Работа.

Затем используйте Implode FUNC, чтобы получить массив в виде одной строки для форматирования в вашем SQL запроса: http://php.net/manual/fr/function.implode.php

 $str = implode(',', $_SESSION['cart']) ; 
     $query = "SELECT * FROM Products WHERE ProdID = '$str'" ; 
+0

смешно, как вы просто скопировали мой комментарий в виде кода. Таким образом, это не сработает. EDIT: спасибо за редактирование сейчас. Лучше. Все еще не работает. – Jeff

+0

ДА только потому, что вы не объяснили это так хорошо, как он мог понять! ;) – MounirOnGithub

+0

достаточно справедливо. Но тогда вы должны сделать все правильно. Это еще не все. – Jeff

Смежные вопросы