Обновление номеров нумерации страниц - PullRequest
0 голосов
/ 06 февраля 2010

Мне интересно, есть ли такая возможность?

У меня есть скрипт разбиения на страницы, который извлекает контент из базы данных mysql с помощью php и использует jquery для обработки всего этого.

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

Когда фильтр установлен, я хотел бы обновить номера нумерации страниц, чтобы компенсировать удаленные элементы.

Больше всего меня беспокоит то, что я получаю количество страниц для отображения непосредственно из базы данных, что делает невозможным обновление номеров нумерации страниц при фильтрации:

<?php
include('config.php');
$per_page = 3;

//Calculating no of pages
$sql = "select * from explore";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pages = ceil($count/$per_page)
?>

Кто-нибудь знает, возможно ли обновить эти числа после фильтрации.

Я в основном использую этот урок, если вам интересно: Здесь

Ответы [ 2 ]

1 голос
/ 06 февраля 2010

Просто чтобы расширить сказанное Байроном, вот как вы это делаете (основываясь на коде по вашей ссылке):

Прямо сейчас в pagination.php есть строка, которая выглядит следующим образом

  $sql = "select * from messages";

и в pageination_data.php вот так:

  $sql = "select * from messages order by msg_id limit $start,$per_page";

Допустим, вам нужен фильтр, который показывает только сегодняшние сообщения.

тогда вам понадобятся следующие две строки:

  $sql = "select * from messages where messages.date = curdate() ";
  $sql = "select * from messages where messages.date = curdate() order by msg_id limit $start,$per_page";

конечно, я ожидаю, что вы будете каким-то образом динамически генерировать операторы sql. Это позволяет серверу sql выполнять фильтрацию, весь код приложения остается в том виде, в каком он у вас.

Примечание: Помните, что если вы делаете динамический sql, не оставляйте себя открытым для инъекций sql. Существует ряд других вопросов, касающихся внедрения SQL.

1 голос
/ 06 февраля 2010

Решение состоит в том, чтобы выполнить фильтрацию на стороне. То есть, когда вы применяете фильтр, вы отправляете данные на сервер, и sql обновляется, чтобы включать / исключать то, что говорит ваш фильтр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...