Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   [решено] Алгоритм. Постраничный вывод. SQL. (http://forum.oszone.net/showthread.php?t=85883)

Scorpion666 25-06-2007 10:37 603641

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

vadimiron 25-06-2007 12:11 603686

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

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

Scorpion666 25-06-2007 14:52 603757

Запрос подобного вида
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 603786

Цитата:

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

Prisoner 25-06-2007 17:14 603838

Да, именно так и это в смежной теме пролетало. Извиняюсь за самоцитату :).

Scorpion666 26-06-2007 07:14 604040

Спасибо! Вопросов больше пока нет! :)


Время: 21:59.

Время: 21:59.
© OSzone.net 2001-