powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / постраничный вывод
5 сообщений из 5, страница 1 из 1
постраничный вывод
    #32345860
Фотография ©Felix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
делаю так.... пусть и изврат но все же... меня интересует суть
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
$query =  "SELECT id FROM $table ORDER by id DESC" ;
$result = MYSQL_QUERY($query);
$kol_str =  mysql_num_rows($result);
if (bcmod($kol_str, 10 )== 0 )
{
$k_l=bcdiv($kol_str, 10 );
} else
{
$k_l=bcdiv($kol_str, 10 )+ 1 ;
};
$lim=$l* 10 - 10 ;
$query =  "SELECT date,news FROM $table ORDER by id DESC LIMIT $lim,10 ";
$result = MYSQL_QUERY($query);

все как бы для того чтоб выбирать только 10 записей для каждой страници но что получаеться
$query = "SELECT id FROM $table ORDER by id DESC";
все равно ведь сначала выбираються все...

интуитивно мне кажеться то выбрать только все id проше чем всю таблицу а потом брать только 10 значений.... я прав???

или ето вообще реализуеться по другому????? хотя мне кажеться что все равно придеться выбрать все чтоб посчитать кол-во страниц... хотя можно выбирать пачками по 10 .. а когда закончаться остановиться.. но тогда как номера страниц узнать???
Felix
...
Рейтинг: 0 / 0
постраничный вывод
    #32345956
Фотография Yet another cat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри для начала FAQ

Но даже если остановишься на собственном варианте, его можно улучшить. Например, чтобы посчитать записи в выборке, ты получаешь на клиент полный список id. Зачем? Считать записи может сделать и сервер: тынц .

=====
Не дождетесь!
...
Рейтинг: 0 / 0
постраничный вывод
    #32348127
Sehensucht!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почитай про LIMIT в sql-e...
...
Рейтинг: 0 / 0
постраничный вывод
    #32348136
Sehensucht!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... прочитал?
а теперь передавай в параметрах урла номер страницы, тогда для страницы, например, 7:

Код: plaintext
1.
$offset =  10 *($_GET['page'])
$query =  "SELECT id FROM $table ORDER BY id DESC LIMIT 10 ,$offset"

и получишь 10 записей, начиная с записи номер 71
...
Рейтинг: 0 / 0
постраничный вывод
    #32348386
Фотография ©Felix
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Sehensucht!

Уважаемый.... советую вам почитать про LIMIT

Код: plaintext
1.
The LIMIT clause can be used to constrain the number of rows returned by the SELECT statement. LIMIT takes one or two numeric arguments, which must be integer constants. With one argument, the value specifies the number of rows to return from the beginning of the result set. With two arguments, the first specifies the offset of the first row to return, the second specifies the maximum number of rows to return. The offset of the initial row is  0  (not  1 ): To be compatible with PostgreSQL MySQL also supports the syntax: LIMIT row_count OFFSET offset. 
mysql> SELECT * FROM table LIMIT  5 , 10 ;  # Retrieve rows  6 - 15 


помоему ясно и четко написано, что первый параметр указывает на номер стартовой записи, а второй на выбираемое количество....

и Ваш код привидет к получению 70 записей начиная с 11 так что внимательнее читайте мануал прежде чем давать "умные советы"

во-вторых, если Вы заметили... то я в своем коде использую лимит... и к тому же с переменным первым параметром, так что я имею представление что ето такое...

и в третих... мой вопрос заключался в целесообразности выбора всех записей для подсчета кол-ва страниц и потом использования лимита... ведь если мы все равно выбираем первый раз все, то почему бы не выбрать все записи без лимита..... и я уже нашел овет....

запрос
$query = "SELECT id FROM $table ORDER by id DESC";
ошибочный... вместо него должен быть
$query = "SELECT count(*) FROM $table";
в таком случае не шерститься вся таблица.... и потом получив количество страниц уже действительно целесообразно использовать лимит...
Felix
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / постраничный вывод
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]