Php “问题”;“分页时保留选中值”;

Php “问题”;“分页时保留选中值”;,php,pagination,Php,Pagination,我有一个包含以下代码的脚本和一个分页,用户可以在其中选中复选框以缩小显示的结果。所有操作似乎都很好。唯一的问题是,当用户单击分页中的下一页时,结果将丢失,并显示默认结果。我想我可能需要使用会话来存储查询或语句,但我不确定如何使用它们。如果有人能帮我或给我指出正确的方向,我将非常感激 <?php include("config.php"); $start = 0; $per_page = 10; if(!isset($_GET['page'])){ $page =

我有一个包含以下代码的脚本和一个分页,用户可以在其中选中复选框以缩小显示的结果。所有操作似乎都很好。唯一的问题是,当用户单击分页中的下一页时,结果将丢失,并显示默认结果。我想我可能需要使用会话来存储查询或语句,但我不确定如何使用它们。如果有人能帮我或给我指出正确的方向,我将非常感激

<?php
  include("config.php"); 
  $start = 0;
  $per_page = 10;
  if(!isset($_GET['page'])){
     $page = 1;
  } else
  {
      $page = $_GET['page'];
   }
   if($page<=1)
      $start = 0;
   else
      $start = $page * $per_page - $per_page;
   $sql="select id,question,correctAnswer,category from math order by id";
   $num_rows = mysql_num_rows(mysql_query($sql));
   $num_pages = $num_rows / $per_page;
   $sql .= " LIMIT $start, $per_page";
   $result=mysql_query($sql) or die(mysql_error());
   while($row=mysql_fetch_array($result))                  
   { ?>
      ..............
   <?php
     if($page > 1){
         $prev = $page - 1;
        $prev = " <a href='?page=$prev'>prev</a> ";
     } else {
        $prev = "";
     }
     if($page < $num_pages){
        $next = $page + 1;
        $next = " <a href='?page=$next'>next</a> ";
     }
    else
    {
      $next = "";
    }
    echo $prev;
    echo $next;
   ?>

..............
下面的代码是关于逐个和全部选择复选框值的代码

                               function selectall()
                                {
    var selectAll = document.forms[0].length;

    if(document.forms[0].topcheckbox.checked==true)
        {
            for(i=1;i<selectAll;i++) 
            {
            document.forms[0].elements[i].checked=true;
            }
        }
    else
        {
            for(i=1;i<selectAll;i++)

            document.forms[0].elements[i].checked=false;
        }
                  } 

                    function goSelect()
                    {
                    var select =  document.forms[0].length;
                        var checkboxes=""
                        for(i=1;i<select;i++)
                       {
                            if(document.forms[0].elements[i].checked==true)
                             checkboxes+= " " + document.forms[0].elements[i].name

                        }

                         if(checkboxes.length>0)
                             {
                               var con=confirm("You have selected ...........");         
                               if(con)
                                {

                                window.location.assign("submit.php?recsno="+checkboxes)
                               //  document.forms[0].submit()
                                }
                           }
                            else
                             {
                      alert("No record is selected.")
                 }
                       }
函数selectall()
{
var selectAll=document.forms[0]。长度;
if(document.forms[0].topcheckbox.checked==true)
{

对于(i=1;i,您可能可以使用PHP Get方法?,然后在javascript中接收它

例如,searchurl.com/results.php?box=1

然后在下一页检索它

我相信这会对您有所帮助,如果您需要更多详细信息,请务必告诉我。

这是我的全部代码

                      include("config.php"); 
                      $start = 0;
                      $per_page = 10;
                      if(!isset($_GET['page'])){
                      $page = 1;
                      } else{
                      $page = $_GET['page'];
                        }
                    if($page<=1)
                   $start = 0;
                      else
                 $start = $page * $per_page - $per_page;
    $sql="select id,question,correctAnswer,category from math order by id";
    $num_rows = mysql_num_rows(mysql_query($sql));
    $num_pages = $num_rows / $per_page;
    $sql .= " LIMIT $start, $per_page";
    $result=mysql_query($sql) or die(mysql_error());
    while($row=mysql_fetch_array($result))                  
    { ?>

    <tr>
         <td><input name="<?php echo $row['id']; ?>" type="checkbox" class="check"></td>
        <td><center><?php echo htmlspecialchars_decode($row['id'], ENT_QUOTES); ?></center></td>        
        <td style="padding-left:25px;margin:15px"><?php echo $_SESSION['question']= htmlspecialchars_decode($row['question'], ENT_QUOTES); ?></center></td>
        <td><center><?php echo htmlspecialchars_decode($row['correctAnswer'], ENT_QUOTES); ?></center></td>
        <td><center><?php echo htmlspecialchars_decode($row['category'], ENT_QUOTES); ?></center></td>
        <td><a href="<?php echo "manual_update.php?id=".$row['id']."&mode=update";?>"id="dialog_10">View</a></td>

    </tr>


        <?php } ?>
              <tr>
                <td><strong><a href="javascript:goSelect()">Select</a></strong></td>
                 <td><strong>Sr No </strong></td>
                <td><strong>Question </strong></td>         
                <td><strong>CorrectAnswer </strong></td>
                <td><strong>Category </strong></td>
                <td><strong>View Details</strong></td>

              </tr>
            </table>
        </td>
      </tr>
      <tr>
        <td>
                   <?php

  if($page > 1){
     $prev = $page - 1;
     $prev = " <a href='?page=$prev'>prev</a> ";
  } else {
     $prev = "";
  }
  if($page < $num_pages){
     $next = $page + 1;
     $next = " <a href='?page=$next'>next</a> ";
  }
  else
  {
    $next = "";
  }
  echo $prev;
  echo $next;
  ?>
include(“config.php”);
$start=0;
每页$10;
如果(!isset($\u GET['page'])){
$page=1;
}否则{
$page=$_GET['page'];
}
如果($第页)

嘿,马克,非常感谢这个rpl。好的,我试过了,但是没有用。如果可能的话,你能用任何例子,包括一些编码,对它进行更多的标定吗?你能给我提供你的复选框的名称吗,我会为你修改一个代码。@punam123从你的javascript代码中,它会把客户端带到一个url;submit.php?recsno=“+复选框,您可以尝试在页面按钮上复制它。submit.php?page=2&recsno=+复选框,可能。仍然将代码发送给我&我将为您创建一个php get,我们可以尝试。name=“”是我的复选框的名称。实际上,我正在使用复选框将数据库中的值放入表中。@punam123在您的页码上,将它们链接到;submit.php?recsno=+复选框,因为这是您的javascript在第一页上发送给它们的内容,但是一个快速的解决方案是将第一页上显示的结果量更改为所有结果。