Вот вроде сделал навигацию, по исправлял все ошибки, но проблема в том ,что не получается добиться чтоб на каждой странице,было слева слово Назад, а справа слово - Вперёд, и так на всех страницах, у меня как-то не так выводит,как сделать правильно?
У меня таблица такая в базе данных для пробы сделана.
id cat text
1 1 Петя
2 1 Фрося
3 1 Борис
4 1 Анатолий
5 1 Банан
6 1 Тарзан
7 1 Макс
8 1 Министр
9 1 Факел
10 1 Природа
11 1 Листья
12 1 Друзья
13 1 Морковь
14 1 Титаник
15 1 Мел
16 1 Натрий
17 1 Вуглевод
18 1 Кислород
19 1 Дартаньян
20 1 Поезд
Файл databse.php
Код:
|
<?php
$server = 'localhost'; //Имя сервера
$user = 'privet'; //Логин
$password = '12345'; //Пароль
$db = 'video';
$table = 'lessons'; //Название таблицы
$error_database = '<h2>Произошла ошибка в базе данных,<br/>
в ближайшее время она будет устранена!</h2>';
$connect = mysql_connect($server,$user,$password);
if(!$connect){
echo $error_database;
exit;
};
//$connect по какому соединению мы работаем
$select = mysql_select_db($db,$connect);
if(!$select){
echo $error_database;
exit;
};
?> |
Файл index.php
Код:
|
<?php
include 'database.php'; /*Соединяемся с Базой Данных*/
//Число постов выводящих на странице
$num = 3;
if(empty($page)){
die('<p style="color:red; font-size:24px;">Ошибка! Неверный URL адресс!</p>');
}
$page = $_GET['page'];
$result = mysql_query("select COUNT(*) FROM lessons",$connect);
$posts = mysql_result($result,0);
//Находим общее количество страниц
$chislo_str = intval(($posts-1)/$num)+1;
$page = intval($page);
//empty($page) Если переменной не существует или ее значение равно нулю
if(empty($page) or $page<0) $page = 1;
if($page > $chislo_str) $page = $chislo_str;
// Если ввести $page=7 тогда 7*3-3=18
//с 18 поста будет выводится пост 18,19,20 на странице №7
$start = $page * $num - $num;
$result = mysql_query("SELECT * FROM lessons LIMIT $start, $num",$connect);
// В цикле переносим результаты запроса в массив $postrow
while ( $postrow[] = mysql_fetch_array($result));
//Вывод постов
for($i = 0; $i < $num; $i++)
{
echo $postrow[$i]['id'].' '.$postrow[$i]['text'].'<br/>';
}
//------------------------------------------------
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href= ./?page=1><<</a> ;
<a href= ./?page='. ($page - 1) .'><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $chislo_str) $nextpage = ' <a href= ./?page='. ($page + 1) .'>></a>
<a href= ./?page=' .$chislo_str. '>>></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 <= $chislo_str) $page2right = ' | <a href= ./?page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $chislo_str) $page1right = ' | <a href= ./?page='. ($page + 1) .'>'. ($page + 1) .'</a>';
// Вывод меню
if(isset($pervage)) echo $pervage;
if(isset($page2left)) echo $page2left;
echo '<b>';
if(isset($page)) echo $page;
echo '</b>';
if(isset($page1right)) echo $page1right;
if(isset($page2right)) echo $page2right;
if(isset($nextpage)) echo $nextpage;
?> |
Не получается сделать вывод как на картинке,уже много раз пробовал и не знаю как,вот код на котором остановился.