pavlodaranet
Новичок
Блок "Новости" и постраничная навигация с категориями
В общем тружусь над созданием раздела "новости".
Главная страница должна быть на странице ../news/index.php
На ней выводить 5 новостей из 5 разделов (по одной самой новой с каждого)
картинка
В итоге разобрался с постраничной навигацией с помощью гугла - в результате сделал постраничный вывод из таблицы news, теперь необходим вывод главной страницы раздела, с имеющимися ссылками на разделы вроде
http://test.ua/news/?cat=1&page=1
имеется следующий код:
а в данном случае надо чтобы при обращении ../news/ открывалась главная страница раздела.
Вот весь код:
В общем тружусь над созданием раздела "новости".
Главная страница должна быть на странице ../news/index.php
На ней выводить 5 новостей из 5 разделов (по одной самой новой с каждого)
картинка
В итоге разобрался с постраничной навигацией с помощью гугла - в результате сделал постраничный вывод из таблицы news, теперь необходим вывод главной страницы раздела, с имеющимися ссылками на разделы вроде
http://test.ua/news/?cat=1&page=1
имеется следующий код:
PHP:
// Если $page отрицательно то, переходим на первую страницу
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
Вот весь код:
PHP:
<?
// соединение с базой данных
$db = mysql_connect ("localhost","php","12345");
mysql_query("SET NAMES 'cp1251'");
mysql_select_db("pnet",$db);
// Кол-во на страницы
$num = 2;
// Текущая страница
$page=$_GET['page'];
// Общее число сообщений
$result = mysql_query("SELECT * FROM news ");
$posts = mysql_num_rows($result);
// Общее число страниц
$total = intval(($posts - 1) / $num) + 1;
// Начальная позиция отсчета
$page = intval($page);
// Если $page отрицательно то, переходим на первую страницу
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
// С какого номера начать выводить сообщения
$start = $page * $num - $num;
// Вывод с $start
$result = mysql_query("SELECT * FROM news LIMIT $start, $num");
while ( $postrow[] = mysql_fetch_array($result)) ;
for($i = 0; $i < $num; $i++)
{
echo "<table>
<tr>
<td ><p><a href='view_news.php?id=".$postrow[$i]["id"]."'>".$postrow[$i]["title"]."</a></p>
</td>
</tr>
</table>";
}
// Нужны ли стрелки назад
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 - 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 + 2 <= $total) $page2right = ' | <a href= ./?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href= ./?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод
echo $pervpage.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
?>

