Не получается сделать постраничный вывод результатов после поиска из БД mysql

программирование php MySQL базы данных

<?php

// Соединение с БД MySQL
$sql = mysql_connect('localhost', 'members', 'arkilha');
mysql_select_db('members', $sql);

// Количество новостей на странице
$on_page = 1;

// Получить введенные данные
$name = $_POST['name'];
$email = $_POST['email'];

// Получаем количество записей таблицы news
$query = "SELECT COUNT(*) FROM `members` WHERE
name LIKE '%$name%' AND
email LIKE '%$email%'";

$res = mysql_query($query);
$count_records = mysql_fetch_row($res);
$count_records = $count_records[0];


// Получаем количество страниц
// Делим количество записей на количество новостей на странице
// и округляем в большую сторону
$num_pages = ceil($count_records / $on_page);


// Текущая страница из GET-параметра page
// Если параметр не определен, то текущая страница равна 1
$current_page = isset($_GET['page']) ? (int)$_GET['page'] : 1;

// Если текущая страница меньше единицы, то страница равна 1
if ($current_page < 1)
{
$current_page = 1;
}
// Если текущая страница больше общего количества страница, то
// текущая страница равна количеству страниц
elseif ($current_page > $num_pages)
{
$current_page = $num_pages;
}


// Начать получение данных от числа (текущая страница - 1) * количество записей на странице
$start_from = ($current_page - 1) * $on_page;


// Формат оператора LIMIT <ЗАПИСЬ ОТ>, <КОЛИЧЕСТВО ЗАПИСЕЙ>
$query = "SELECT * FROM `members` WHERE
name LIKE '%$name%' AND
email LIKE '%$email%'
ORDER BY `id`
LIMIT $start_from, $on_page";
$res = mysql_query($query);


// Вывод результатов
echo '<table border="1"><tr><th>id</th><th>дата</th><th>текст</th></tr>';
while ($row = mysql_fetch_assoc($res))
{
echo '<tr>';
echo '<td>'.$row['id'].'</td>';
echo '<td>'.$row['name'].'</td>';
echo '<td>'.$row['email'].'</td>';
echo '</tr>';
}
echo '</table>';


// Вывод списка страниц
echo '<p>';
for ($page = 1; $page <= $num_pages; $page++)
{
if ($page == $current_page)
{
echo '<strong>'.$page.'</strong> &nbsp;';
}
else
{
echo '<a href="search.php?page='.$page.'">'.$page.'</a> &nbsp;';
}
}
echo '</p>';

?>
Ответы:
Проверьте значение $start_from
Да и $on_page слишком мал. По одной записи на страницу как-то бессмысленно делать.


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.