[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Постраничная навигация
Sexy Devil
Возникла проблема с постраничной навигацией ( код из уроков Е. Попова )
запрос:

$db->query ( " SELECT * FROM `theme` WHERE `show_cat` = '" . $show . "' ORDER BY `date` DESC, `id` LIMIT %s, %s ", $start, $num );


код:


// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=view_cat.php?show='.$show.'&page=1>В начало</a> | <a href=view_cat.php?show='.$show.'&page='. ($page - 1) .'>Назад</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 1) .'>Далее</a> | <a href=view_cat.php?show='.$show.'&page=' .$total. '>В конец</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=view_cat.php?show='.$show.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=view_cat.php?show='.$show.'&page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=view_cat.php?show='.$show.'&page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=view_cat.php?show='.$show.'&page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=view_cat.php?show='.$show.'&page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=view_cat.php?show='.$show.'&page='. ($page + 1) .'>'. ($page + 1) .'</a>';

// Вывод меню если страниц больше одной

if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class='pnav'>";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}



Ошибка:
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-5, 5' at line 1
SQL: SELECT * FROM `theme` WHERE `show_cat` = '7' ORDER BY `date` DESC, `id` LIMIT -5, 5

Ошибка выскакивает в той категории, где нету тем, в остальных всё прекрасно работает





Спустя 10 минут, 41 секунда (23.03.2011 - 15:19) m4a1fox написал(а):
Sexy Devil
Понимаешь, тут такое дело. У меня такая же навигация.... работает в принципе нормально... Но вот пользователь inpost говорит, что эта фигня навигация... Он рекомендует вот тут посмотреть http://irbis-team.com/15/21
Я попытался сделать как там... Но возникла проблема. Если в БД не четное кол-во записей, то скрипт не работает... Скорее, там это расписано... но я не заметил... Вот. Если будешь делать, то рекомендую делать вместе. Вдвоём будет легче smile.gif

Спустя 8 минут (23.03.2011 - 15:27) m4a1fox написал(а):
Скоро буду, будем решать...

Спустя 1 час, 19 минут, 14 секунд (23.03.2011 - 16:46) m4a1fox написал(а):
Sexy Devil
Ну как успехи?

Спустя 3 часа, 5 минут, 49 секунд (23.03.2011 - 19:52) valerik88 написал(а):
Автор.. у тебя $start равен -5. Из за этого ошибка.
Спрашивали у меня про такие ошибки кучу раз.. как правило, не правильно вычисляется номер страницы.. скорее всего номер страницы у тебя равен нулю.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.