Проверьте хранилища базы данных, включающие те же единицы из сеанса PHP - PullRequest
0 голосов
/ 04 декабря 2009

Я пытаюсь проверить сессионную корзину перед покупкой (и проверить, включает ли хранилище базы данных те же единицы измерения из сессии)

foreach($_SESSION['cart'] AS $key => $qty){
    $sizes_id[] = $qty['units'];
}

вывод из сессии:

Array(
    [0] => 1 (units)
    [1] => 5 (units)
)

давайте предположим, что в дБ максимум 2 единицы, а в сессии 5. Мне нужно перебрать базу данных и проверить, равен ли сеанс выводу сеанса. если true, вставьте в db else, перенаправьте front

Ответы [ 3 ]

1 голос
/ 04 декабря 2009

Сортируйте массив единиц в порядке убывания.

Затем выберите единицы измерения из базы данных в порядке убывания. Должен дать вам тот же массив. Вот запрос, аналогичный тому, что вам понадобится:

SELECT id, units FROM article_sets WHERE article_id=XXX ORDER BY units DESC
0 голосов
/ 05 декабря 2009

я нашел решение.

        foreach ($_SESSION['cart'] AS $sizes_id => $qty){

            $in_stock = $db->GetScalar("SELECT s.units FROM products_sizes s 
                                        INNER JOIN products p ON p.product_id = s.product_id
                                        WHERE s.id = '$sizes_id'
            ");             
     }

Это была та часть, которую я искал, и она работает ->

     if ($in_stock == 0 || $_SESSION['cart'][$sizes_id]['units'] > $in_stock){ 
0 голосов
/ 04 декабря 2009

Мне нужно перебрать базу данных и проверьте, равен ли сеанс сеансу выход. если это правда, вставьте в БД еще, перенаправление спереди

Звучит так, будто ты знаешь, что хочешь делать.

Так что ты спрашиваешь? Вы хотите, чтобы кто-то написал это для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...