Показать сообщение отдельно
  #6 (permalink)  
Старый 21.09.2010, 18:07
Аватар для Golovastik
Профессор
Отправить личное сообщение для Golovastik Посмотреть профиль Найти все сообщения от Golovastik
 
Регистрация: 12.08.2010
Сообщений: 221

Решил опробовать другой,более правильный вариант, но он у меня не сработал.
По видеоуроку попробовал написать постраничную навигацию, для теста как там было указано создал 2 таблицы:
Таблица lessons.php

Код:
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                Поезд
Таблица options.php
Код:
d     str
1     3
Файл database.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;
};
?>
Код самой постраничной навигации, файл cat_view.php
Код:
<?php
include '../blocks/database.php';  /*Соединяемся с Базой Данных*/
$result77 = mysql_query("SELECT str FROM options", $connect);
$myrow77 = mysql_fetch_array($result77);
$num = $myrow77["str"];
// Извлекаем из URL текущую страницу
@$page = $_GET['page'];
// Определяем общее число сообщений в базе данных
$result00 = mysql_query("SELECT COUNT(*) FROM data WHERE cat='$cat'");
$temp = mysql_fetch_array($result00);
$posts = $temp[0];
// Находим общее число страниц
$total = (($posts - 1) / $num) + 1;
$total =  intval($total);
// Определяем начало сообщений для текущей страницы
$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 id,text FROM lessons WHERE
 cat='$cat' ORDER BY id LIMIT $start, $num",$connect);

// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href=view_cat.php?cat='.$cat.'&page=1>Первая
</a> | <a href=view_cat.php?cat='.$cat.'&page='. ($page - 1) .'>Предыдущая</a> | ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = ' | <a href=view_cat.php?cat=
'.$cat.'&page='. ($page + 1) .'>Следующая</a> | <a href=view_cat.php?cat=
'.$cat.'&page=' .$total. '>Последняя</a>';

// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 5 > 0) $page5left = ' <a href=view_cat.php?cat=
'.$cat.'&page='. ($page - 5) .'>'. ($page - 5) .'</a> | ';
if($page - 4 > 0) $page4left = ' <a href=view_cat.php?cat='.$cat.'&page=
'. ($page - 4) .'>'. ($page - 4) .'</a> | ';
if($page - 3 > 0) $page3left = ' <a href=view_cat.php?cat='.$cat.'&page=
'. ($page - 3) .'>'. ($page - 3) .'</a> | ';
if($page - 2 > 0) $page2left = ' <a href=view_cat.php?cat='.$cat.'&page=
'. ($page - 2) .'>'. ($page - 2) .'</a> | ';
if($page - 1 > 0) $page1left = '<a href=view_cat.php?cat='.$cat.'&page=
'. ($page - 1) .'>'. ($page - 1) .'</a> | ';

if($page + 5 <= $total) $page5right = ' | <a href=view_cat.php?cat=
'.$cat.'&page='. ($page + 5) .'>'. ($page + 5) .'</a>';
if($page + 4 <= $total) $page4right = ' | <a href=view_cat.php?cat=
'.$cat.'&page='. ($page + 4) .'>'. ($page + 4) .'</a>';
if($page + 3 <= $total) $page3right = ' | <a href=view_cat.php?cat=
'.$cat.'&page='. ($page + 3) .'>'. ($page + 3) .'</a>';
if($page + 2 <= $total) $page2right = ' | <a href=view_cat.php?cat=
'.$cat.'&page='. ($page + 2) .'>'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = ' | <a href=view_cat.php?cat=
'.$cat.'&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>";
}

?>

Выдаёт ошибки:


Код:
Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 9
[Денвер: показать возможную причину ошибки]
Warning: mysql_fetch_array(): supplied argument is
 not a valid MySQL result resource in z:\home\sitik.ru\www\blocks\view_cat.php on line 10

Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 27

Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 30

Notice: Undefined variable: cat in z:\home\sitik.ru\www\blocks\view_cat.php on line 30
Хотя я всё сделал по инструкции,как говорилось в видеоуроке.
Подскажите пож, что сделать чтоб сработало?

Последний раз редактировалось Golovastik, 21.09.2010 в 18:10.
Ответить с цитированием