У меня есть список, выводящийся из mySQL с количеством из 20 элементов.mySQL Append to LIst
Пользователи будут добавлять и удалять элементы, которые входят в список, поэтому идентификатор предметов не является последовательным. Они могут быть 5, 10, 12, 13, 14, 27, 28, 31, 38, 40. Список ограничен 20 пунктами.
SELECT * FROM table WHERE fields = vars ORDER BY id DESC LIMIT 0,10
Пользователь будет продолжать добавлять и удалять элементы, пока этот список отображается на экране. У меня есть значение последнего id в примере здесь, это 40.
Некоторые из этих элементов могут быть удалены, и новые элементы будут добавлены.
Как я могу запустить этот запрос, начиная с последнего известного идентификатора. Я добавляю идентификатор WHERE> 40. Могу ли я поставить предложение WHERE после предложения LIMIT 0,10.
SELECT * FROM table WHERE fields = vars ORDER BY id DESC LIMIT 0,10 WHERE id > $lastid
Главное здесь я не хочу, чтобы показать уже показанные элементы, и я не знаю, если элементы были удалены, так что выполнение 1,10 может вызвать неправильные результаты. Мне нужны следующие 10 результатов сразу после последнего отображаемого элемента.
Думаю, вам не стоит беспокоиться о удаленных элементах. Это будет настоящая боль, чтобы контролировать, должен ли элемент отображаться или нет на основе изменения элементов. Вы должны просто придерживаться порядка идентификаторов и фиксировать несколько элементов для каждой страницы. Тогда вам просто нужно управлять этими значениями с помощью предложения LIMIT. Всегда начинайте с 'LIMIT 1, 10' с' 10', являющимся числом элементов страницы, следующая страница будет 1 + 10, 10, которая является 'LIMIT 11,10'. Все это работает. Контролировать то, что должно быть показано, будет связано с добавлением ненужной сложности в вашу систему, например, куки, другие таблицы –
И ужасная логика, чтобы проверить ее на каждого пользователя, который видит список и многое другое, каждый шаг каждого пользователя, идущий вперед и назад в разбивке на страницы , –
Я не добавлял его в качестве ответа, потому что это мнение, хотя зная, что это поведение по умолчанию почти всех систем. –