@kotmypkotov

Как выдать самые актуальные данные из БД на момент запроса?

Добрый день.
К сути, есть таблица такого формата:
| Текст | Количество | Текст |
| Текст1 | Количество | Текст1 |
и так далее.
На сайт обращается юзер, и при переходе на страницу ему выдаёт данные таким вот запросом:
SELECT * FROM tabla WHERE kol_vo <> 0 ORDER BY RAND() LIMIT 1

После неких действий юзер нажимает на кнопку и счётчик Количества в выданной ему строке уменьшается на одну единицу, ну и так по кругу, юзерам выдаются рандомно строки у которых Количество больше нуля. Раз в неделю счетчик обновляю в ручную.

Тык вот, бывает такая проблема что из-за рандома одна и та же строка может выдаться в день всё количество раз которое необходимо было выдавать плавно на протяжении недели.
Как реализовать плавное распределение выдачи актуальной строки именно в момент запроса?

Если вопрос не понятен, могу разжевать ещё) Я просто только учусь, и сейчас от этого зависит моя работа на хлеб с маслом)
Очень нужна помощь.
  • Вопрос задан
  • 89 просмотров
Пригласить эксперта
Ответы на вопрос 1
NYMEZIDE
@NYMEZIDE
резюме - ivanfilatov.ru
Неизвестно количество пользователей и количество вот таких строк и как часто он будет заходить на страницу и жмакать кнопку.

но можно попробовать сформировать некий список (Таблица М:М между Юзерами и Вашей_таблицей) заранее, случайно распределенных записей для каждого конкретного пользователя, и выдавать ему в первый раз 1ю строку, после Клика - менять текущую позицию Юзера, сдвигая ее вниз на одну. Если дошел до конца списка - менять на первую, вероятно, или генерить новый список.

Это будет плавное распределение по всем строчам.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы