//постраничная навигация $result77 = mysql_query("SELECT str FROM options", $db); $myrow77 = mysql_fetch_array($result77); $num = $myrow77["str"]; // Извлекаем из URL текущую страницу @$page = $_GET[\'page\']; // Определяем общее число сообщений в базе данных $result00 = mysql_query("SELECT COUNT(*) FROM data WHERE date>\'$date_begin\' AND date<\'$date_end\'"); $temp = mysql_fetch_array($result00); $posts = $temp[0]; // Находим общее число страниц $total = (($posts - 1) / $num) + 1; $total = intval($total); // Определяем начало сообщений для текущей страницы $page = intval($page); // Если значение $page меньше единицы или отрицательно // переходим на первую страницу // А если слишком большое, то переходим на последнюю if(empty($page) or $page < 0) $page = 1; if($page > $total) $page = $total; // Вычисляем начиная с какого номера // следует выводить сообщения $start = $page * $num - $num; // Выбираем $num сообщений начиная с номера $start
$result = mysql_query ("SELECT id,title,description,date,author,view,rating,q_vote FROM data WHERE date>\'$date_begin\' AND date<\'$date_end\' ORDER BY id DESC LIMIT $start, $num",$db); if (!$result) { echo "Запрос не может быть выполнен.Пожалуйста сообщите об этом администратору. Код ошибки: "; exit (mysql_error()); } if (mysql_num_rows($result) > 0) { $myrow = mysql_fetch_array ($result);
do { $r = $myrow[\'rating\']/$myrow[\'q_vote\']; $r = intval($r); printf (" %s | %s | Дата добавления: %s | Автор: %s | Просмотров: %s | Рейтинг: | Подробнее | ",$myrow ["title"],$myrow ["description"],$myrow ["date"],$myrow ["author"],$myrow["view"],$r, $myrow ["id"] ); } while ($myrow = mysql_fetch_array ($result));
//Здесь выводим страницы // Проверяем нужны ли стрелки назад if ($page != 1) $pervpage = \'Первая | Предыдущая | \'; // Проверяем нужны ли стрелки вперед if ($page != $total) $nextpage = \' | Следующая | Последняя\';
// Находим две ближайшие станицы с обоих краев, если они есть if($page - 5 > 0) $page5left = \' \'. ($page - 5) .\' | \'; if($page - 4 > 0) $page4left = \' \'. ($page - 4) .\' | \'; if($page - 3 > 0) $page3left = \' \'. ($page - 3) .\' | \'; if($page - 2 > 0) $page2left = \' \'. ($page - 2) .\' | \'; if($page - 1 > 0) $page1left = \'\'. ($page - 1) .\' | \';
if($page + 5 <= $total) $page5right = \' | \'. ($page + 5) .\'\'; if($page + 4 <= $total) $page4right = \' | \'. ($page + 4) .\'\'; if($page + 3 <= $total) $page3right = \' | \'. ($page + 3) .\'\'; if($page + 2 <= $total) $page2right = \' | \'. ($page + 2) .\'\'; if($page + 1 <= $total) $page1right = \' | \'. ($page + 1) .\'\';
// Вывод меню если страниц больше одной
if ($total > 1) { Error_Reporting(E_ALL & ~E_NOTICE); echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.\'\'.$page.\'\'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
}
} else { echo "Информация по запросу не может быть извлечена,в таблице нет запесей "; exit (); } ?> |