Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

пОСТРАНИЧНЫЙ вЫВОД

328
07 декабря 2003 года
Felix
257 / / 20.07.2000
делаю так.... пусть и изврат но все же... меня интересует суть
$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 .. а когда закончаться остановиться.. но тогда как номера страниц узнать???
4
07 декабря 2003 года
mike
3.7K / / 01.10.2002
в $page передается номер страницы (0,1,2 и т.п.)
 
Код:
$r=mysql_query("SELECT count(*) FROM $table");
$total=ceil(mysql_result($r)/10);

print "Показана страница ".$page." из ".$total;

$query = "SELECT date,news FROM ".
          $table."ORDER by id DESC LIMIT ".($page*10).",10";


Писалось тут, может не работать.
239
07 декабря 2003 года
Dolonet
1.7K / / 20.05.2000
Пишешь всего один запрос:

$query = "SELECT id FROM $table ORDER by id DESC LIMIT $beg, $lenght";

... причем нельзя, чтобы $beg был по величине больше, чем возможное количество записей. $lenght может быть любым целым, больше нуля.
4
07 декабря 2003 года
mike
3.7K / / 01.10.2002
Цитата:
Originally posted by Felix
хотя мне кажеться что все равно придеться выбрать все чтоб посчитать кол-во страниц...



Зря ты так думаешь. Запрос "SELECT count(*) FROM table" (в таком виде как написан здесь, т.е. без WHERE, GROUP и т.п) вообще не трогает данные таблицы, он лишь выбирает их количество из заголовков.

Вот попробуй, создай огромную таблицу и выполни сначала свой запрос, а потом SELECT count(*) FROM table. Второй запрос всегда будет выполнятся за 0.00 сек

328
08 декабря 2003 года
Felix
257 / / 20.07.2000
Цитата:
Originally posted by mike


Зря ты так думаешь. Запрос "SELECT count(*) FROM table" (в таком виде как написан здесь, т.е. без WHERE, GROUP и т.п) вообще не трогает данные таблицы, он лишь выбирает их количество из заголовков.

Вот попробуй, создай огромную таблицу и выполни сначала свой запрос, а потом SELECT count(*) FROM table. Второй запрос всегда будет выполнятся за 0.00 сек


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

328
08 декабря 2003 года
Felix
257 / / 20.07.2000
Цитата:
Originally posted by Dolonet
Пишешь всего один запрос:

$query = "SELECT id FROM $table ORDER by id DESC LIMIT $beg, $lenght";

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


если вы заметили я спрашивал совсем не ето.... и если вы заметили то в своем коде то что вы написали у меня есть... меня интересовало совершенно другое... а именно то что ответил майк...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог