|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
18.08.2011, 13:07 | #1 |
Пользователь
Регистрация: 15.08.2011
Сообщений: 30
|
Навигация
Всем привет.
Поставил себе скрипт навигации на страницу новостей, но они выводятся на каждой странице как то не верно. Хочу чтобы было по 5 новостей на странице. Я где то напутал и теперь они выводятся не по 5, а по разному вообще и в произвольном порядке. Я думаю, что проблема с формулой, но не могу найти ошибку. Как, где и что мне прописать, чтобы при нажатии на следующую страницу выводилось следующие пять новостей, а не гурьбой в перемешку? Сам скрипт ошибок не выдает. <? $table = 'portail_news'; // НАЗВАНИЕ ТАБЛИЦЫ $chislo = 5; // ЧИСЛО СООБЩЕНИЙ НА СТРАНИЦЕ // ДЛЯ УДОБСТВА ОБОЗНАЧИЛ ПЕРЕМЕННУЮ С ТЕКСТОМ ОШИБКИ $text_error = '<br />Ошибочка вышла!'; // СОЕДЕНИМСЯ С MySQL $db_link = mysql_connect($sql_serveur,$sql_use r,$sql_passwd); $sql_bdd="atak"; $result=mysql_db_query($sql_bdd,"SE T NAMES 'utf8'",$db_link); if (!$result) { echo $text_error; exit; } // СОЗДАЁМ ЗАПРОС $sql_req = "SELECT id_news from $table ORDER by id_news desc"; // СЧИТАЕМ КОЛЛИЧЕСТВО ЗАПИСЕЙ В ТАБЛИЦЕ $result=mysql_db_query($sql_bdd,$sq l_req,$db_link) ; $num_rows = mysql_num_rows($result); if (!$result) { echo $text_error; exit; } // А ТЕПЕРЬ СЧИТАЕМ НА СКОЛЬКО СТРАНИЦ РАЗБИТЬ ЗАПИСИ И ВЫДЕЛЯЕМ ЦЕЛОЕ ЧИСЛО $num_rows = round($num_rows/$chislo); if (!$num_rows) { echo $text_error; exit; } // ЗДЕСЬ МЫ ПРОВЕРЯЕМ НА КАКОЙ СТРАНИЦЕ СЕЙЧАС ПОЛЬЗОВАТЕЛЬ if (isset($_GET['str'])) { $nav = $_GET['str']; } else { $nav = 0; } $nav = intval($nav); // ДЛЯ ЗАЩИТЫ ОТ НЕХОРОШИХ ДЯДЕНЕК ВЫДЕЛЯЕМ ЦЕЛУЮ ЧАСТЬ $GET['str'] echo 'Навигация: '; // А ТЕПЕРЬ ВЫВОДИМ НОМЕРА СТРАНЦ for ($i=1; $i<$num_rows; $i++) { if ($i != $nav) { echo '<a href="'.$PHP_SELF.'?str='.$i.'">'.$ i.'</a> '; } else { // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ echo '<span>'.$i.'</span> '; } } echo '<hr />'; // ОТДЕЛИМ НАВИГАЦЮ ОТ КОНТЕНТА ДЛЯ НАГЛЯДНОСТИ if (!$i) { echo $text_error; exit; } // НАЧИНАЕМ ВЫВОДИТЬ САМУ ИНФОРМАЦИЮ ПОСТРАНИЧНО if (!isset($_GET['str'])) { $str = 0; } else { $str = $_GET['str']*$chislo - $chislo; } $nomer = $str + 5; // ФОРМИРУЕМ ЗАПРОС НУЖНОЙ НАМ ЧАСТИ ИНФОРМАЦИИ $sql_req = "SELECT title,bodys from $table ORDER by id_news desc limit $str, $nomer"; $result=mysql_db_query($sql_bdd,$sq l_req,$db_link) ; // ИНАЧЕ ВЫВОДИМ ОШИБКУ if (!$result) { echo $text_error; exit; } echo '<div style="width: 40%;">'; while ($row = mysql_fetch_array($result)) { echo '<p>'.$row['id_news'].' - <strong>'.$row['title'].'</strong> <br /> '.substr(strip_tags($row['bodys']),0,100).'.. <a href="show_news.php?id_news='.$row['id_news'].'">>></a></p>'; } echo '</div>'; ?> |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Навигация | stck | HTML и CSS | 4 | 13.11.2010 03:50 |
Обновленная навигация | Kapitann | PHP | 2 | 27.09.2010 15:39 |
Навигация в документе | kanapfelka | Microsoft Office Word | 20 | 24.09.2010 19:54 |
Навигация по листу | Rodion | Microsoft Office Excel | 1 | 19.04.2010 19:47 |
Навигация по таблице | Натуся | Помощь студентам | 4 | 31.10.2007 00:58 |