@libera

Как организовать навигацию в категориях php?

<?php
include "template/top.php";
include "config.php";
$id = isset($_GET['1_cat']) ? (int) $_GET['1_cat'] : 0; 
$res = mysql_query('SELECT * FROM `news` WHERE `1_cat` = ' . $id);
$num = 10;
$page = $_GET['page'];
$result00 = mysql_query("SELECT COUNT(*) FROM news WHERE 1_cat = ". $id );
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
$page = intval($page);
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
$start = $page * $num - $num;		
$n = mysql_num_rows($res);
for ($i = 0; $i < $n; $i++)
{
	$row = mysql_fetch_array($res);			   
	printf ('
				<div class="news-block">
					<div class="title-news"><a>%s</a></div>
					<div class="title-date-user"><a>%s</a><a>cfg</a></div>
					<div class="text-news"><p> %s ...</p></div>
					<div class="title-news">
					<a class="news-catalog" href="catalog.php?1_cat=%s?">%s</a>
					<a class="news-dalee" href="news.php?id=%s">Подробнее</a> </div>
				</div>
			', $row['title'], $row['date'], mb_substr( $row['text_1'], 0, 350),$row['1_cat'],$row['catalog_id'],$row['id'] );
}
//----Навигация
if ($page != 1) $pervpage = '<a href=?page=1>Первая</a> | <a href=?page='. ($page - 1) .'>Предыдущая</a> | ';
if ($page != $total) $nextpage = ' | <a href=?page='. ($page + 1) .'>Следующая</a> | <a href=?page=' .$total. '>Последняя</a>';
if($page - 5 > 0) $page5left = ' <a href=?page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=?page='. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=?page='. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=?page='. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=?page='. ($page - 1) .'>'. ($page - 1) .'</a> | ';
if($page + 5 <= $total) $page5right = ' | <a href=?page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=?page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=?page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
if ($total > 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo "<div class=\"pstrnav\">";
echo $pervpage.$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right.$nextpage;
echo "</div>";
}
include "template/bottom.php";
?>

Вот код здесь выводит новости которые в категории по id записаны.
Но проблема в том, что не работает навигация.
http://сайт.ru/2/catalog.php?1_cat=1? вот так отображается 1 страница.
http://сайт.ru/2/catalog.php?1_cat=1?page=2 вот так 2 страница
Но на дели при переходе на следующие то
http://сайт.ru/2/catalog.php?page=2
  • Вопрос задан
  • 222 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
edli007
@edli007
full stack, team lead
include "template/top.php"; - php.net/manual/ru/function.spl-autoload-register.php и php.net/manual/ru/function.ob-start.php
$id = isset($_GET['1_cat']) - php.net/manual/ru/function.array-key-exists.php
$res = mysql_query( '... - php.net/manual/ru/book.pdo.php
printf (' - https://goo.gl/gVTsF2
if($page - 5 > 0) - как выше, `for ($i = 0; $i < $n; $i++)`
Error_Reporting(E_ALL & ~E_NOTICE); - в начало

Код здесь выносит не новости а мозг.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы