[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Постраничный вывод, узнать страницу записи
savelikan
Доброе времени суток !
Я создал постраничный вывод из базы через LIMIT 20, 20 и тд....
Как узнать, на какой именно странице будет находится запись с указаным ID?
Делать проверку каждой записи?

Например, есть форум и сообщений на 20 страниц, а есть ID сообщение и нужно узнать на какой странице будет даное сообщение,...



Спустя 7 минут, 19 секунд (19.10.2011 - 22:45) Игорь_Vasinsky написал(а):
если сортируешь по ID, предположу что вывод по ASC
и если нет удалённых записей (id)

то тут простая математика

-на первой с 0-20
-на второй с 21-41
-на третьей c 42-42

и т.д.

сложнее если есть удалённые строки

Спустя 4 минуты, 26 секунд (19.10.2011 - 22:49) imbalance_hero написал(а):
savelikan
На странице 20 записей.
Запись / на количество на странице. Округляем в большую часть..
10/20 = 0.5 (округляется в большую сторону = 1)
30/20 = 1.5 (округляется в большую сторону =2)

Ничего сложного.

Спустя 15 секунд (19.10.2011 - 22:49) savelikan написал(а):
Цитата (Игорь_Vasinsky @ 19.10.2011 - 21:45)
если сортируешь по ID, предположу что вывод по ASC
и если нет удалённых записей (id)

то тут простая математика

-на первой с 0-20
-на второй с 21-41
-на третьей c 42-42

и т.д.

сложнее если есть удалённые строки

конечно что есть.... и WHERE тоже...

Спустя 1 минута, 43 секунды (19.10.2011 - 22:51) dadli написал(а):
а если есть удалённые строки то вичисляем на каком месте стоит нужни сообшение, допустим еги ид 55

SELECT 
count(id) + 1 FROM mytable WHERE id < 55



если конечно столбце ид есть ауто_инкремент

Спустя 3 минуты, 5 секунд (19.10.2011 - 22:54) savelikan написал(а):
Цитата (dadli @ 19.10.2011 - 21:51)
а если есть удалённые строки то вичисляем на каком месте стоит нужни сообшение, допустим еги ид 55

SELECT 
count(id) + 1 FROM mytable WHERE id < 55



если конечно столбце ид есть ауто_инкремент

ну конечно же))))
СПАСИБО!!!


_____________
Одесса - мой город!)))
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.