Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/239.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将$\u GET变量传递到下一页_Php_Pagination - Fatal编程技术网

Php 将$\u GET变量传递到下一页

Php 将$\u GET变量传递到下一页,php,pagination,Php,Pagination,现在我正在尝试编写代码读取其他代码并使其工作,因为我的一些项目是由其他开发人员编写的,我真的必须学习阅读其他代码,我已经使这一个工作,但问题是,当我尝试将此分页代码合并到$GET变量时,会发生错误,当它加载第一个页面时,一切都很顺利,但当我单击其他页面时,$\u GET变量就消失了。我已经在站点中找到了一个代码,但我真的不知道如何将它与其他代码合并 下面是“可能”解决问题的代码 printf(“”,$targetpage,http_build_查询(数组('page'=>2)+$\u GET))

现在我正在尝试编写代码读取其他代码并使其工作,因为我的一些项目是由其他开发人员编写的,我真的必须学习阅读其他代码,我已经使这一个工作,但问题是,当我尝试将此分页代码合并到$GET变量时,会发生错误,当它加载第一个页面时,一切都很顺利,但当我单击其他页面时,$\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> ";