Php 将$\u GET变量传递到下一页
现在我正在尝试编写代码读取其他代码并使其工作,因为我的一些项目是由其他开发人员编写的,我真的必须学习阅读其他代码,我已经使这一个工作,但问题是,当我尝试将此分页代码合并到$GET变量时,会发生错误,当它加载第一个页面时,一切都很顺利,但当我单击其他页面时,$\u GET变量就消失了。我已经在站点中找到了一个代码,但我真的不知道如何将它与其他代码合并 下面是“可能”解决问题的代码Php 将$\u GET变量传递到下一页,php,pagination,Php,Pagination,现在我正在尝试编写代码读取其他代码并使其工作,因为我的一些项目是由其他开发人员编写的,我真的必须学习阅读其他代码,我已经使这一个工作,但问题是,当我尝试将此分页代码合并到$GET变量时,会发生错误,当它加载第一个页面时,一切都很顺利,但当我单击其他页面时,$\u GET变量就消失了。我已经在站点中找到了一个代码,但我真的不知道如何将它与其他代码合并 下面是“可能”解决问题的代码 printf(“”,$targetpage,http_build_查询(数组('page'=>2)+$\u GET))
printf(“”,$targetpage,http_build_查询(数组('page'=>2)+$\u GET));
下面是使链接1 2 3 4。等等
$range = 3;
// if not on page 1, don't show back links
if ($currentpage > 1) {
// show << link to go back to page 1
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1?srId=$srdd'><<</a> ";
// get previous page num
$prevpage = $currentpage - 1;
// show < link to go back to 1 page
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$prevpage?srId=$srdd'><</a> ";
} // end if
// loop to show links to range of pages around current page
for ($x = ($currentpage - $range); $x < (($currentpage + $range) + 1); $x++) {
// if it's a valid page number...
if (($x > 0) && ($x <= $totalpages)) {
// if we're on current page...
if ($x == $currentpage) {
// 'highlight' it but don't make a link
echo " [<b>$x</b>] ";
// if not current page...
} else {
// make it a link
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$x?srId=$srdd'>$x</a> ";
} // end else
} // end if
} // end for
// if not on last page, show forward and last page links
if ($currentpage != $totalpages) {
// get next page
$nextpage = $currentpage + 1;
// echo forward link for next page
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$nextpage?srId=$srdd'>></a> ";
// echo forward link for lastpage
//echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages?srId=$srdd'>>></a> ";
printf("<a href='{$_SERVER['PHP_SELF']}?currentpage=$totalpages?srId=$srdd'>>></a>");
} // end if
/****** end build pagination links ******/
?>
$range=3;
//如果不在第1页,不要显示反向链接
如果($currentpage>1){
//展示
您需要使用会话变量或cookie将它们从一页传递到另一页
假定您正在发送GET请求,并且可以在URL中看到,$\u GET全局数组将是每个新页面的新数组
一般来说,web是无状态的,这意味着它不会记住从一个页面到另一个页面所做的事情,除非您使用cookie、会话或数据库进行持久化
设计你的链接
Page 1 | 2 | 3 | 4
将信息保存在链接中,以便为下一页做好准备
Page 1 = http://url?page=1&page_limit=25
Page 2 = http://url?page=2&page_limit=25
...
Etc
如果分页链接采用这种格式,这些变量将位于$\u GET数组中。我已经找到了解决这个问题的方法。我在网上看到了很多关于这个问题的人,在论坛上也看到了一些人。这里是解决方法
<?php
session_start();
// store session data
if (isset($_GET["srId"]))
{
$_SESSION['variable']=$_GET["srId"];
$srdd = $_SESSION['variable'];
}
else
{
$srdd = $_SESSION['variable'];
$tableName = $srdd."r";
}
?>
感谢各位的回复。尝试更换
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1?srId=$srdd'><<</a> ";
echo"看看会话。你是说会话变量吗?因为当你点击下一个链接时,正在使用$\u GET变量传递一个变量,$\u GET变量变为空,所以$\u会话变量我已经研究了它的性质,实际上已经对它进行了编码,还有其他建议吗?谢谢。我想他主要希望URL包含GET值在下一页,谢谢@dismer,我还找到了另一种使用isset的方法来解决这个问题。只是提醒一下,这个方法会将数据保留在内存之外。
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1?srId=$srdd'><<</a> ";
echo " <a href='{$_SERVER['PHP_SELF']}?currentpage=1&srId=$srdd'><<</a> ";