Постраничная навигация PHP
|
|
|
2013-12-05Дата: Четверг, 05.12.2013, 16:55 | Сообщение # 1 |
Сержант
Группа: Проверенные
Статус: Offline
|
Здравствуйте подскажите пожалуйста не могу понять почему не работает код постраничной навигации.
Вот сама функция: Код function link_article($page, $pages_count, $parametr) { for ($j = 1; $j <= $pages_count; $j++){ if ($j == $page) { echo ' <a class="nav_activ"><b>'.$j.'</b></a> '; } else { echo ' <a class="nav_link" href='.$_SERVER['PHP_SELF'].'?category_id=' . $parametr. '&page='.$j.'>'.$j.'</a> '; } if ($j != $pages_count) echo ''; } return true; } А вот код в php файле: Код $category_id= (int)$_GET['category_id'];
// Получаем название категории $res_category = mysql_query("SELECT `name` FROM `category` WHERE `category_id`=' {$category_id} '"); $row_category = mysql_fetch_assoc($res_category);
$pergage = 2; // количество записей на страницу /* Получение текущей страницы */ if(empty($_GET['page']) || ($_GET['page'] <= 0)) { $page = 1; } else { $page = (int) $_GET['page']; // Считывание текущей страницы } // Получение количества статей категории $res = mysql_query("SELECT `article_id` FROM `articles` WHERE `category`={$category_id} AND `visible`='1'"); $count = mysql_num_rows($res); // Количество вытащеных записей
$pages_count = ceil($count / $perpage); // Количество страниц if ($page > $pages_count) $page = $pages_count; // если запрошенная страница больше количества страниц
$start_pos = ($page - 1) * $perpage; // начальная позиция для запроса
// Выбераем статьи категории $res_articles = mysql_query("SELECT `article_id`, `title`, `short_text`, `glav_text`, `avatar`, `date`, `views`, `alt` FROM `articles` WHERE `category`='{$category_id}' AND `visible`='1' LIMIT {$start_pos}, {$perpage}");
И вот мне ошибку выдает вот на 1 строчки этой странице: Код if(mysql_num_rows($res_articles) > 0) { while($row_articles = mysql_fetch_assoc($res_articles)) { echo '<div class="blok">'."\r\n"; echo '<img src="' .$row_articles['avatar']. '" alt="' .htmlspecialchars($row_articles['alt']).'" title="' .htmlspecialchars($row_articles['alt']).'">'."\r\n"; echo '<h1><a href="' .$site_url. 'view_article.php?article_id=' .$row_articles['article_id'].'">'.htmlspecialchars($row_articles['glav_text']).'</a></h1>'."\r\n"; echo $row_articles ['short_text']."\r\n"; echo '<p class="date"> Просмотров: '. $row_articles['views']. ' | Дата: ' .$row_articles['date']. '</p>'."\r\n"; echo '</div>'; '<hr />'."\r\n"; } } else echo 'Здесь статей нет!';
Код <?php // Вывод функции, для вывода ссылок на экран link_article($page, $pages_count, $category_id); ?>
Вот сама ошибка: Код Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\----- on line 91
Сообщение отредактировал TokyoZero - Четверг, 05.12.2013, 16:57 | | |
|
|
2013-12-05Дата: Четверг, 05.12.2013, 19:39 | Сообщение # 2 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
TokyoZero, Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\----- on line 91 Цитата Предупреждение: mysql_num_rows() ожидался параметр типа ресурс, а вернулось булево значение ... - чаще всего - ошибка подключения к базе. Выведи куда нибудь mysql_error() и посмотри что там. Вот так, например: Код $res_category = mysql_query("SELECT `name` FROM `category` WHERE `category_id`=' {$category_id} '") or die(mysql_error()); ---
Это откуда кусок, с DLE ?
| | |
|
|
2013-12-05Дата: Четверг, 05.12.2013, 19:42 | Сообщение # 3 |
Сержант
Группа: Проверенные
Статус: Offline
|
Не рукописный сайт Просто беру учусь потихоньку, с книг курсов и т.д. просто склепать все вместе тяжело новичку
Тоже самое выдает, соединение с базой данных проходит где то ошибся со структурой вот ломаю голову где.
Сообщение отредактировал TokyoZero - Четверг, 05.12.2013, 19:48 | | |
|
|
2013-12-05Дата: Четверг, 05.12.2013, 20:11 | Сообщение # 4 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
TokyoZero, Просто беру учусь потихоньку Респект и уважуха)
просто склепать все вместе тяжело новичку smile Конечно сложно, .. но возможно )
соединение с базой данных проходит где то ошибся со структурой вот ломаю голову где.
где то ошибся со структурой вот ломаю голову где. - это не структурная ошибка, посмотри что попадает сюда:
Код var_dump($res_articles); // должен быть ресурс if(mysql_num_rows($res_articles) > 0) { while($row_articles = mysql_fetch_assoc($res_articles)) {
То бишь ищи косяк на предыдущей строке перед строкой ошибки - смотри что пришло. А сама строка указывает что скрипт вылетел на данной строке, значит ошибка в ней или на следующей.
| | |
|
|
2013-12-05Дата: Четверг, 05.12.2013, 23:26 | Сообщение # 5 |
Сержант
Группа: Проверенные
Статус: Offline
|
Хорошо буду пробовать
Добавлено (05.12.2013, 23:26) --------------------------------------------- likbezz готовся, сейчас ты будешь долго смеяться, я убил 9 часов ради того что бы понять, что нужно исправить всего 1ну ... букву. Код $pergage = 2; // количество записей на страницу Вместо page написал gage, 9 долгих часов и после того как купил в конбини зеленый чай и пару 牛肉コロツケ что то типа картофельных котлеток с чуткой мясом, пока жувал аллилуйя заметил эту погрешность 1 буква ну теперь точно буду внимательнее От сюда вывод, не получается иди похавай, программист не программист когда он голоден :)))
Сообщение отредактировал TokyoZero - Четверг, 05.12.2013, 23:31 | | |
|
|
2013-12-06Дата: Пятница, 06.12.2013, 08:11 | Сообщение # 6 |
Аццкий кодер
Группа: Администраторы
Статус: Unknown
|
TokyoZero, Кашмар)).. злостная очепятка ).. Бывает)
программист не программист когда он голоден :) Когда я сыт - в сон клонит )) потому что обычно не только голоден, но и недоспавши )
| | |
|
|
2013-12-06Дата: Пятница, 06.12.2013, 17:45 | Сообщение # 7 |
Сержант
Группа: Проверенные
Статус: Offline
|
Когда я сыт - в сон клонит )) потому что обычно не только голоден, но и недоспавши )
Это точно
| | |
|