как зделать постраничный выаод статей

  • Автор темы Автор темы typak
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
T

typak

Как зделать штобы статей выводило по 10 статей на страницу и внизу показывало навигацию.
Вот код обработчика:
Код:
<?php 
include ("adds/db.php");
$res = mysql_query("SELECT * FROM `arts` ORDER BY id", $db);
if(!$res) echo "Ошибка запроса напишите администратору.";
if(!mysql_num_rows($res)) echo"Таблица несодержит строк";
$result = mysql_fetch_array($res);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="keywords" content="Статьи Главная" />
<meta name="description" content="Статьи Главная" />

<title>Раздел статей!!!</title>
</head>

<body>
<table width="800" border="0">
<tr>
<?php include ("adds/header.php");?>
</tr>
<tr>
<?php include ("adds/menu.php");?>
<td width="590"><?php 
do{
printf("<h1> <a href='list.php?id=%s'> %s </a> </h1> <p>%s
<p>Дата добавления: %s. Количество просмотров %s.<hr>",
$result["id"],$result["title"],$result["description"],$result["date"],$result["view"]);
}while($result = mysql_fetch_array($res));

?></td>
</tr>
<tr>
<?php include ("adds/fooler.php");?>
</tr>
</table>

</body>
</html>
Що надо дописать шоб оно выводило по 10 статей и внизу навигацию ???
 
:) Все вообщем сам разобрался. Всё делается просто с помощью функции:
Код функции:
Код:
<?php //________ФУНКЦИЯ ПРИНИМАЕТ ЕДИНСТВЕННЫЙ ПАРАМЕТР НАЗВАНИЕ ТАБЛИЦЫ___________///////?>
<?php function pages($table){
//Переменная хранит число статей на странице.
$num =2;
//Извлекаем из url текущую стараницу
$page = $_GET['page'];
//Подсчет общего количества строк в таблице/(COUNT(*)) возвращает общее количество строк таблицы/
$result = mysql_query("SELECT COUNT(*) FROM `$table` ");
$posts = mysql_result($result, 0);/*Возвращает результат запроса выполненый функцией mysql_query
Переменная $posts присваивает значение количества строк в таблице в численном виде*/
//Находим общее число страниц.
$total = intval(($posts - 1) / $num) + 1;//+1 и -1 помогает неупустить страницу если нет кратности
//Определяем начало сообщений для текущей страницы
$page = intval($page);//intval преобразует к вещественному типу $page
/* Если значение $page меньше единици или отрицательно,
то переходим на первую страницу, если значение сильно большое,
то переходим на последнюю страницу */
if(empty($page) or $page < 0) $page = 1;
if($page > $total) $page = $total;
/* Вичисляем с какого номера надо выводить сообщение */
$start = $page * $num - $num;
//Вибираем $num статей начиная с номера $start
$res = mysql_query("SELECT * FROM `$table`  LIMIT $start, $num ");/* делаем запрос выборки начиная со
значения $start строки со значением старт, в количестве переменной $num */
//return $res;
################################################################################
############
#__________________________________ВЫВОД НАВИГАЦИИ______________________#################
################################################################################
#############

//Задаем значение переменным равным NULL шоб невыводило замечание
$pervpage=$page2left=$pate1left=$page1right=$page2right=$nextpage=NULL;
//Проверяем нужны ли стрелки назад
if($page != 1) $pervpage = ' | <a href=poputka_funk.php?page=1>первая</a> | 
<a href=poputka_funk.php?page='.($page-1).'>назад</a>';
//Проверяем нужны ли стрелки вперед?
if($page != $total) $nextpage = ' | <a href=poputka_funk.php?page='.($page+1).'>next</a> | 
<a href=poputka_funk.php?page='.$total.'>последняя</a>';

//Находим две ближайшие страницы с общих краев если они есть
if($page - 2 > 0) $page2left = ' | <a href=poputka_funk.php?page='.($page-2).'>'.($page-2).'</a> | ';
if($page - 1 > 0) $pate1left = ' | <a href=poputka_funk.php?page='.($page-1).'>'.($page-1).'</a> | ';
if($page+2<=$total) $page2right = ' | <a href=poputka_funk.php?page='.($page+2).'>'.($page+2).'</a>';
if($page+1<=$total) $page1right = ' | <a href=poputka_funk.php?page='.($page+1).'>'.($page+1).'</a>';
//Вивод самой навигации.
echo $pervpage.$page2left.$pate1left.'<b>'.$page.'</b>'.$page1right.$page2right.$nextpage;
return $res;

}?>
Спасибо за помой. Первая мая функция. Скоро тупак профи станет.
Как вам код хоть нормильный? переделал со скрипта похожего
А кто знает как зделать коментарии к статьям и гостевую книгу????????
Скиньте скрипт форума или гостевой книги или ссылки на примеры как их создавать
лутше ссылки на то как делать коментарии к статьям. !!!!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!