php получает данные публикации при использовании скрипта разбиения на страницы


У меня есть страница под названием mainPage.php которые содержат сценарий разбиения на страницы, который отображает список страниц.

 [1][2][3][4][5] 

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

for($i=1;$i<=$totalPage;$i++)
{
if($page==$i)
{
echo ' <input  type="button" value="'.$i.'"> ';
}
else
{
echo '<a href="mainPage.php='.$i.'"> <input type="button" value="'.$i.'"> </a>';
}}

Есть ли какой-либо способ перенести данные публикации на следующий номер страницы после перехода по этой ссылке:

 <a href="mainPage.php='.$i.'"> 

Без формы.

Author: Brian Tompsett - 汤莱恩, 2014-07-28

3 answers

Нет, это невозможно. Когда форма отправляется (с method=post) на сервер, это один запрос POST. Если вы хотите сделать еще один запрос на публикацию, вам нужно сделать еще один запрос на публикацию. Если вы нажмете на ссылку, это не будет запросом на публикацию.

Я предполагаю, что ваш сценарий - это что-то вроде формы поиска, которая отправляется по почте и возвращает несколько страниц результатов. В этом случае СООБЩЕНИЕ все равно используется не по назначению. Запрос HTTP POST должен использоваться для изменения данных на сервер, например, регистрация нового пользователя или удаление записи. Просто форма поиска - это не изменение данных, это просто поиск данных. Таким образом, ваша форма должна быть method=get. Это приведет к URL-адресу со значениями формы в качестве параметров запроса:

mainPage.php?search=foobar

Затем вы можете тривиально создать URL-адреса разбиения на страницы из этого:

printf('<a href="mainPage.php?%s">...', http_build_query(array('page' => $i) + $ _GET));

Что приведет к:

mainPage.php?search=foobar&page=2

Таким образом, все ваши запросы являются автономными запросами GET.

 1
Author: deceze, 2014-07-28 09:35:20

Попробуйте <a href="mainPage.php?page='.$i.'"> и получите номер страницы. использование $_GET['page'];

 0
Author: jkumar, 2014-07-28 09:22:14

Вы можете выполнять свою работу, используя метод GET вместо post.Если вы хотите сделать это в запросе post, вам нужно сделать это отдельно для каждого из них.

 0
Author: Avinash Babu, 2014-07-28 09:38:41