Xwab
Форумыnavigate_nextНебольшие вопросы по PHP/MySQL

Вывод только 100 видео
Сообщения
FiXleR

Здравствуйте.
Идет 1 запрос проверяющий на кол записей.

SELECT COUNT(*) FROM `test`

Далее если записи есть, идет следующий запрос в цикле который записывается в массив

SELECT * FROM `test` ORDER BY `time` DESC LIMIT ".$pages->p.", ".$pages->num

Как сделать чтоб выводились только 100 последних записей по убыванию от time, при этом постраничная навигация верно показывала страницы?

Тоесть если у меня в данный момент записей 200, а записей выводится 10 на страницу, то соответственно постраничная навигация покажет 20 страниц.

А нужно чтоб постраничная навигация показала 10 страниц, т.к выводится 100 записей.
P.S кол записей может изменится.

26 Янв 2013, 12:40
Jadson

Если брать за основу код выше, то тебе нужно просто $pages->num изменить с 10 на 100.

26 Янв 2013, 12:50
Okula

SELECT COUNT(*) FROM `test` ORDER BY `time` DESC LIMIT 100

26 Янв 2013, 12:50
Jadson

Okula, ему же еще нужно чтоб и навигация работала

26 Янв 2013, 12:52
aBSuRD

Постраничную навигацию свою покажи, пример использования

26 Янв 2013, 12:52
FiXleR

Okula, ничего не изменилось, так же выводятся все записи.
добавлено спустя 2 минуты:
Jadson, тогда выводятся 100 записей на 1 страницу

26 Янв 2013, 12:58
Okula

Это не для навигации, а для подсчёта общего количества последних 100 записей (вдруг их будет меньше 100).
Для навигации ещё один запрос:
SELECT * FROM `test` ORDER BY `time` DESC LIMIT ".$pages->p.", ".$pages->num
Если класс навингации правильно написан всё будет работать и отоброжать страницы в нужном режиме.

26 Янв 2013, 13:00
FiXleR

aBSuRD, К сожалению не могу
добавлено спустя 1 минуту:
Okula, Класс правильный (кстате, твой класс который ты выкладывал, только немного изменен)

Но все равно ничего не работает

26 Янв 2013, 13:04
aBSuRD

FiXleR, примерный код тогда [php:1:02113ad807]<?php
$cnt = $db->query('SELECT COUNT(*) FROM `test`')->fetchColumn();
if ($cnt > 100)
$cnt = 100;
$pages = new Pagination($cnt);
// .....[/php:1:02113ad807]

26 Янв 2013, 13:08
FiXleR

Вот:
[php:1:09050838ea]
# Считаем записи
$count = $db->result("SELECT COUNT(*) FROM `test`");

# Кол записей для вывода на страницу
$pnumber = $system['navig'];

# Адрес постр навигации
$url = 'img.php?page=';

$pagination = new Pagination($pnumber, $page, $count, $url);

# Если есть данные
if($count > 0)
{
$query = $db->query("SELECT * FROM `test` ORDER BY `time` DESC LIMIT ".$pagination->begin.", ".$pagination->pnumber);

while($img = mysql_fetch_array($query))
{
....
....
....
}
}
[/php:1:09050838ea]

26 Янв 2013, 13:17
Ответить на тему