Войти

Показать полную графическую версию : [решено] Алгоритм. Постраничный вывод. SQL.


Scorpion666
25-06-2007, 10:37
Добрый день!
У меня есть функция, предположим: Navigate, которая в браузер выводит страницы и отмечает текущую страницу, на странице содержится 10 записей из таблице.
При запросе пользователя по поиску, находит определенное количество записей. Как рационально определить количество найденных записей, чтоб организовать постраничный вывод записей, и вывести необходимые записи из таблицы?
Зарание благодарю!

vadimiron
25-06-2007, 12:11
Вы же знаете сколько записей нашлось. Вам осталось решить, сколько записей показывать на странице и всё. Номер текущей страницы встраиваете в SQL-запрос (оператор LIMIT) и показываете записи текущей страницы и перечисление всех страниц (1,2,3,...)

Поясните, что именно Вы не понимаете?

Scorpion666
25-06-2007, 14:52
Запрос подобного вида
SELECT field1, field2 FROM Table WHERE firld3=10
Найдет 30 записей

SELECT field1, field2 FROM Table WHERE field3=10 LIMIT 0,10
найдет толко 10 записей

Как мне определить общие количество найденных строк, чтоб потом в браузере вывести количество страниц? Или составлять два запроса?
SELECT count(field1) as qqq FROM Table WHERE field3=10
а потом еще один запрос
SELECT field1, field2 FROM Table WHERE field3=10 LIMIT 0,10
Можно ли составить один запрос?

vadimiron
25-06-2007, 15:43
Можно ли составить один запрос?
Нет, но есть ещё другой способ: ищите в сторону SQL_CALC_FOUND_ROWS и FOUND_ROWS()

Prisoner
25-06-2007, 17:14
Да, именно так и это в смежной теме (http://forum.oszone.net/post-304853-2.html) пролетало. Извиняюсь за самоцитату :).

Scorpion666
26-06-2007, 07:14
Спасибо! Вопросов больше пока нет! :)




© OSzone.net 2001-2012