вопрос
Пишу модуль магазина, прайс которого еженочно обновляется на ~150k позиций.
Причем нет уникальной записи для товара, поэтому каждый раз база просто очищается и парсится.
Из-за этого один и тот же товар в разные дни может иметь разные ID.
В итоге храню корзину в sql базе, конкретно ID товара на данный момент и хеш его описания, ну там количество и прочее...
Когда покупатель набрал корзинку, он переходит в нее... А может переходит в нее через сутки-двое...
В итоге мы должны на первом шаге получить данные о покупках, и затем каждую покупку проверить - может этого товара уже и нет.
Условно 2 таблицы
AAA - корзинка
id, ID товара, название товара, хеш(описания)
ВВВ - товары
id, название товара, описание, цена, доставка, прочее
Делаю так
Все застопорилось на $db->super_query, этот запрос убивает данные, которые в первом $db->query
Алгоритм показан условно, объединять непосредственно 2 sql запроса в 1 запрос не получится
Причем нет уникальной записи для товара, поэтому каждый раз база просто очищается и парсится.
Из-за этого один и тот же товар в разные дни может иметь разные ID.
В итоге храню корзину в sql базе, конкретно ID товара на данный момент и хеш его описания, ну там количество и прочее...
Когда покупатель набрал корзинку, он переходит в нее... А может переходит в нее через сутки-двое...
В итоге мы должны на первом шаге получить данные о покупках, и затем каждую покупку проверить - может этого товара уже и нет.
Условно 2 таблицы
AAA - корзинка
id, ID товара, название товара, хеш(описания)
ВВВ - товары
id, название товара, описание, цена, доставка, прочее
Делаю так
$zakaz = $db->query(" *** запрашиваю данные по корзинке ***");
while ( $zakaz = $db->get_array() )
{
$id = $zakaz['artikul_id'];
$item = $db->super_query( " *** запрашиваю данные по товару, где id=ID товара ***" );
Вычисляю $hash товара
if ($hash == $zakaz['hash'])
{ если хеши совпали, используем данные товара, его то и добавляли }
else
{ сообщаем, что товар удален из корзинки или что другое... }
}
Все застопорилось на $db->super_query, этот запрос убивает данные, которые в первом $db->query
Алгоритм показан условно, объединять непосредственно 2 sql запроса в 1 запрос не получится
Сам задал, сам отвечаю
Переименовываем запрос
$z = $db->query(" запрос ");
Указываем в массиве
while ( $zakaz = $db->get_array($z) )
Переименовываем запрос
$z = $db->query(" запрос ");
Указываем в массиве
while ( $zakaz = $db->get_array($z) )