Как выбрать элементы на нескольких страницах, используя PHP, HTML и т. Д.? - PullRequest
1 голос
/ 02 июня 2009

На сайте, над которым я работаю, отображаются результаты запроса к базе данных. На каждой странице отображается 15 результатов, поэтому, если из запроса возвращено 45 результатов, они будут отображаться на 3 отдельных страницах, каждая из которых содержит 15 результатов.

Я хочу, чтобы пользователь мог выбирать любое количество элементов на первой странице, затем переключаться на другие страницы и выбирать элементы на этих страницах, при этом помня элементы, которые были выбраны на первой странице. (В конце концов, когда пользователь выбрал все элементы, он нажимает кнопку «Отправить».) Поэтому, если пользователь возвращается на первую страницу, проверенные элементы должны отображаться как выбранные. На страницах, которые я видел в Интернете, когда пользователь переходит обратно на первую страницу, все флажки сбрасываются снова (а это не то, что мне нужно).

Есть идеи, как лучше всего этого достичь? Спасибо.

Ответы [ 3 ]

6 голосов
/ 02 июня 2009

Запоминание выбранных промежуточных страниц означает, что у вас есть состояние, которое нужно где-то сохранить. Есть множество способов сделать это, но это сводится к одному из этих ...

  1. Храните его на клиенте (например, куки)
  2. Хранить его на сервере (например, в базе данных)
  3. Продолжайте отправлять его вперед и назад (например, скрытое поле формы, как в представлении ASP.NET)

Распространенной абстракцией, предлагаемой такими платформами, как PHP и ASP.NET, является идея "сеанса". Реальная реализация состояния сеанса может быть комбинацией этих трех возможностей, описанных выше, и, вероятно, предлагает самый простой маршрут. Я предлагаю вам взглянуть на состояние сеанса в PHP.

3 голосов
/ 02 июня 2009

использовать скрытые входы для переноса результатов из предыдущего набора

<!-- hidden fields -->
<input type='hidden' name='whatever[]' value='whatever'/>

<!-- checkboxes -->
<input type='checkbox' name='whatever[]' value='whatever'/>
1 голос
/ 02 июня 2009

Вы могли бы сделать много вещей.

  • Сохранить как файл cookie JavaScript
  • Сохранить как сеанс, используя AJAX при каждом нажатии
  • Скрыть каждую страницу как «вкладку», чтобы они на самом деле были там, но просто не показывались.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...