Показать сообщение отдельно
Старый 07.06.2009, 17:52 Вверх   #7
Грамотный форумчанин
 
Аватар для Pamel
Pamel вне форума
Доп. информация
По умолчанию

Привет, это опять я. Сегодня я вам расскажу и покажу постраничную навигацию типа "1 | 2 | 3 | 4 | 5" или "1 2 3 4 5".
1.Редактор любого типа(лучше Adobe Dreamweaver SC4 - как у меня).
2.Малейшие знания php.
3.Сайт на платном или бесплатном хостинге - http://bormotuhi.net/showthread.php?t=757 !
Начнем:
PHP код:
<?php  
// Устанавливаем соединение с базой данных  
$DBcon mysql_connect("localhost","Логин","Пароль");
mysql_select_db ("Ваша БД",$DBcon);
// Переменная хранит число сообщений выводимых на станице  
$num 10;  
// Извлекаем из URL текущую страницу  
$page $_GET['page'];  
// Определяем общее число сообщений в базе данных  
$result mysql_query("SELECT COUNT(*) FROM [U]Ваша таблица в БД[/U]");  
$posts mysql_fetch_row($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;  
// Выбираем $num сообщений начиная с номера $start  
$result mysql_query("SELECT * FROM [U]Ваша таблица в БД[/U] LIMIT $start$num");  
[
B][U]Тут писать ваш запрос к БД и всю часть страницы к той части страницыгде вы хотите поставить навигацию![/U][/B]
// Находим две ближайшие станицы с обоих краев, если они есть
if($page 0$page5left ' <a href=index.php?page='. ($page 5) .'>'. ($page 5) .'</a> | ';
if(
$page 0$page4left ' <a href=index.php?page='. ($page 4) .'>'. ($page 4) .'</a> | ';
if(
$page 0$page3left ' <a href=index.php?page='. ($page 3) .'>'. ($page 3) .'</a> | ';
if(
$page 0$page2left ' <a href=index.php?page='. ($page 2) .'>'. ($page 2) .'</a> | ';
if(
$page 0$page1left '<a href=index.php?page='. ($page 1) .'>'. ($page 1) .'</a> | ';
if(
$page <= $total$page5right ' | <a href=index.php?page='. ($page 5) .'>'. ($page 5) .'</a>';
if(
$page <= $total$page4right ' | <a href=index.php?page='. ($page 4) .'>'. ($page 4) .'</a>';
if(
$page <= $total$page3right ' | <a href=index.php?page='. ($page 3) .'>'. ($page 3) .'</a>';
if(
$page <= $total$page2right ' | <a href=index.php?page='. ($page 2) .'>'. ($page 2) .'</a>';
if(
$page <= $total$page1right ' | <a href=index.php?page='. ($page 1) .'>'. ($page 1) .'</a>';
// Вывод меню если страниц больше одной
if ($total 1)
{
Error_Reporting(E_ALL & ~E_NOTICE);
echo 
"<div class=\"pstrnav\">";
echo 
"<p align='center'>".$pervpage."".$page5left.$page4left.$page3left.$page2left.$page1left.'<b>'.$page.'</b>'.$page1right.$page2right.$page3right.$page4right.$page5right."".$nextpage."</p>";
echo 
"</div>";
}
?>
Все, ссылка на новость - http://softtime.ru/info/articlephp.php?id_article=33 ! Я чуток изменил оригинал. Кстати, чтобы навигацию добавить на страницу с какими-то еще переменными, то тут
PHP код:
<a href=index.php?page='. ($page - 2) .'
нужно поменять например, на
PHP код:
index.php?date='.$date.'&time='.$time.'&page='. ($page - 2) .' 
!!!
Все, до свидания!....))
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
 
Время генерации страницы 0.08065 секунды с 10 запросами