Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
16 / 16 / 6
Регистрация: 14.11.2013
Сообщений: 86

Постраничная навигация. При переходе по ссылкам - 404 ошибка. Нужно исправить.

07.04.2014, 22:20. Показов 999. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую.
Существует таблица со следующей структурой

id|name| email| message| data

При реализации постраничного вывода информации из бд первая страница записей отображается нормально.
При попытке перехода на 2, 3 и тд выдает ошибку 404

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//Настройки подключения к БД
$db_host = 'localhost';
$db_name = 'test_base';
$db_user = 'root';
$db_pass = '';
 
$page = intval($_GET[page]); // значение текущей страницы из GET
$num = 10; // Переменная хранит число сообщений выводимых на станице
if ($page==0) $page=1;
// Определяем общее число сообщений в базе данных
// Берем из БД кол-во записей
 
    mysql_connect($db_host,$db_user,$db_pass) OR DIE("Error connect to SQL<br/> ");
    @mysql_select_db("$db_name") or die("Error connect to DB<br/>"); 
    mysql_query ("set character_set_client='utf8'"); // установка кодировки 
    mysql_query ("set character_set_results='utf8'");
    mysql_query ("set collation_connection='utf8_general_ci'"); 
    $query = "SELECT count(`id`) FROM `test_table`"; /
    $mysql_result = mysql_query($query);
 
if(mysql_num_rows($mysql_result)>0){
    $count=mysql_fetch_row($mysql_result);
    }
$posts = $count[0]; // получем значение кол-во всех записей
// Находим общее число страниц
$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;
 
// Проверяем нужны ли стрелки назад
if ($page != 1) $pervpage = '<a href="/index.php?page=-1"><<</a>
<a href="/index.php?page='. ($page - 1).'"><</a> ';
// Проверяем нужны ли стрелки вперед
if ($page != $total) $nextpage = '  <a href="/index.php?page='. ($page + 1).'">></a>
<a href="/index.php?page='.$total.'">>></a> ';
// Находим две ближайшие станицы с обоих краев, если они есть
if($page - 2 > 0) $page2left = ' <a href="/index.php?page='. ($page - 2) .'">'. ($page - 2) .'</a>  ';
if($page - 1 > 0) $page1left = '<a href="/index.php?page='. ($page - 1) .'">'. ($page - 1) .'</a>  ';
if($page + 2 <= $total) $page2right = '  <a href="/index.php?page='. ($page + 2).'">'. ($page + 2) .'</a>';
if($page + 1 <= $total) $page1right = '  <a href="/index.php?page='. ($page + 1).'">'. ($page + 1) .'</a>';
 
//получаем записи из БД (начиная с $start, кол-во записей = $num)
 
$query = "SELECT * FROM `test_table` LIMIT $start, $num"; 
    $mysql_result = mysql_query($query);
 
/* Выводим данные из таблицы */
 
 //тут стили и разметка
 
/* Цикл вывода данных из базы конкретных полей */
while ($row = mysql_fetch_array($mysql_result)) {
    echo "<tr>\n";
    echo "<td>".$row['id']."</td>\n";
    echo "<td>".$row['data']."</td>\n";
    echo "<td>".$row['name']."</td>\n";
    echo "<td>".$row['email']."</td>\n";
    echo "<td>".$row['message']."</td>\n</tr>\n";
}
 
echo ("</table>\n");
 
// если страниц больше чем одна
if ($total>1) echo '<p><div align="center" class="navigation">'
.$pervpage.$page2left.$page1left.'<span>'.$page.'</span>'.$page1right.$page2right
.$nextpage.'</div></p>';
 
/* Закрываем соединение */
mysql_close();
 
/* Выводим ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\"><a href=\"index.html\">Вернуться назад</a></div>");
Надеюсь на вашу помощь
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.04.2014, 22:20
Ответы с готовыми решениями:

Припарковал старый домен, на новый, при переходе по старым ссылкам ERROR 404
Припарковал старый домен, на свой новый сайт(домен), в htaccess следующая запись: RewriteCond %{HTTP_HOST} ^(www.)?mynewsite.com$ ...

Ошибка при переходе по ссылкам
работает и главная, и другие ссылки, но как переходишь по еще одной ссылке(определенной) выдает ошибку 404 - Компонент не найден Вы...

При переходе с страницы на страницу 404 ошибка
При переходе из меню с страницы на страницу выдает вот что: The requested URL /portfolio/.html was not found on this server. ...

2
 Аватар для Hell Knight
230 / 60 / 17
Регистрация: 11.03.2010
Сообщений: 294
07.04.2014, 22:55
Первое что бросается в глаза, то что ссылки ведут на файл index.php, а ссылка вернуться назад ведёт на файл index.html...
у вас этот код расположен в файле index.html?
Просто если в html-файле, и нету php-файла должна вылезти ошибка...

и меня еще смущает, то как вы выводите стрелку влево... я бы по-советовал использовать '&lt;' вместо записи '<', ну и для правой - '&rt;'
0
16 / 16 / 6
Регистрация: 14.11.2013
Сообщений: 86
08.04.2014, 00:21  [ТС]
файл index.php, ошибка сохраняется
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2014, 00:21
Помогаю со студенческими работами здесь

Ошибка 404 при переходе на вновь созданную страницу
Joomla 1.5.22, компонент sh404Sef 2.1.9.787 Создаю страницу через &quot;менеджер материалов&quot;, затем создаю для этой странице пункт в левом...

Постраничная навигация. В одном браузере выводится ошибка, во втором вообще ничего не выводиться
Здравствуйте! Подскажите пожалуйста, почему в Google Chrome не выводиться постраничная навигация, а в Opera выводится ошибка: Notice:...

Перенаправление при переходе по ссылкам в браузере
Здравствуйте, после заражения вылечили часть вредоносного ПО. Единственная проблема теперь в Google Chrome при переходах по ссылкам идёт...

Не выпоняется javascript при переходе по ссылкам
В файле application.js я повесил коллбеки $(document).ready(function(){ $('body').on('click',function(){ ...

Реклама при переходе по ссылкам гугла
Началось некоторое время назад - временами при переходе по ссылке со страницы поиска гугла происходит несколько переадресаций, которые...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru