BlahBlag01
@BlahBlag01

Как сделать функцию loadmore только вытаскивать не по id а по цене?

Я пробовал и так select * from `bulletins` where (`price` > $value) order by `price` asc и через between. Однако первый вариант вроде работает так как нужно, но если есть например 10 записей с одинаковой ценой, оно выведет 1 запись с этой ценой. Between вообще вытаскивает одну и ту же запись. Если же сделать так
select * from `bulletins` where (`price` >= $value) order by `price` asc аналогично с between
  • Вопрос задан
  • 2186 просмотров
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
Google "mysql LIMIT OFFSET"
1) вам кроме цены надо передавать еще сколько записей показано и делать соответствующее смещение.
2) в запросе нужно делать сортировку "order by price asc, id asc" (т.к у вас price не уникален - что бы гарантировать стабильный порядок строчек при разных запросах)

select * from `bulletins`
where 
  `price` > $value
order by 
  `price` asc, 
  `id` asc
LIMIT 1000, 10

Где 1000 - количество уже показанных записей
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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