修复分页错误


Fixing a pagination error

我有一个问题与分页内的选项卡。在第二个选项卡(候选人)中,当我按pagination 2导航到候选人表的第二页时,我返回到联系人表的第一页。如果我去候选人标签之后,我在正确的页面。我哪里做错了?

    <script  src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js">              </script>
    <script  src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
    <link rel="stylesheet"  href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.1/themes/start/jquery-ui.css"/>

     <link type ="text/css" rel ="stylesheet" href = "testData.cs"/>
     <script>
     $(function(){
     $('#tabs1,#tabs2').tabs();
      });
     </script>


     <head>
    <title>Candidate DB</title>
    </head>
     <body>


    <div  id ="tabs1" class ="contactForm">

<ul>     
     <li><a href="#tab1">List of Contacts</a></li>
     <li><a href="#tab2">List of Candidates</a></li>
     <li><a href="#tab3">Advanced Search</a></li>
          </ul>
      <div id ="tab1" class="contact" >
          <table border="1" id="contact_info">

           <tr>
           <th>Contact Name</th>
            <th>County</th>
           </tr>

           <?php
          $DB_NAME = "Candidate";
          $DB_USER ="root";
          $DB_PASSWORD ="";
          $DB_HOST ="localhost";
          $con=mysql_connect("$DB_HOST", "$DB_USER", "$DB_PASSWORD") or die("Could not connect to MySQL");
         mysql_select_db("$DB_NAME") or die ("No Database");
         echo "Connected to Candidate Database </br></hr>" ;
         $per_page=5;
              $pages_query= mysql_query("SELECT COUNT(contact_id) FROM contact");
              $pages = ceil(mysql_result($pages_query,0)/$per_page);
              $page=(isset($_GET['page'])) ? (int)$_GET['page'] : 1;
               $start=($page-1) * $per_page;

                         $sql=mysql_query("SELECT first_name, last_name, county from contact ORDER BY last_name ASC LIMIT $start, $per_page" );


                         $Fname  =      'first_name';
                         $Lname  =      'last_name';
                         $county =      'county';

                while ( $row = mysql_fetch_object($sql)) {
                  echo "<tr>";
                     echo "<td>" . $row ->first_name . " " . $row->last_name. "</td>";
                       echo "<td>" . $row->county . "</td>";
                            echo "</tr>";
                   }
             // close the loop
               if ($pages>=1 && $page<= $pages ) {
                 for ($x=1; $x<=$pages; $x++)
                {
                 echo ($x ==$page)? '<strong><a style="color:green" href="?                    page='.$x.'">'.$x. '</a></strong>_':'<a href="?page='.$x.'">'.$x. '</a>_';
                  }
                  }

                     ?>

        </table>
           </div>

             <div id ="tab2" class="candidate" >
           <table border="1" id="candidate_info">

                              <tr>
                  <th>Candidate Name</th>
                  <th>County</th>
                   </tr>


                       <?php

                   $per_pageR=5;
                    $pages_queryR= mysql_query("SELECT COUNT(candidate_id) FROM p_candidate");
                    $pagesR = ceil(mysql_result($pages_queryR,0)/$per_pageR);
                    $pageR=(isset($_GET['pageR'])) ? (int)$_GET['pageR'] : 1;
                    $startR=($pageR-1) * $per_pageR;

                    $sql2=mysql_query("SELECT R_first_name, R_last_name, R_county from p_candidate ORDER BY R_last_name ASC LIMIT $startR, $per_pageR" );


                     $R_name   =        'R_first_name';
                     $R_name   =        'R_last_name';
                     $R_county =        'R_county';

                     while ( $rowR = mysql_fetch_object($sql2)) {
                      echo "<tr>";
                        echo "<td>" . $rowR ->R_first_name . " " . $rowR->R_last_name.  "</td>";
                    echo "<td>" . $rowR->R_county . "</td>";
                    echo "</tr>";
                       }
               // close the loop
                   if ($pagesR>=1 && $pageR<= $pagesR ) {
                   for ($y=1; $y<=$pagesR; $y++)
                      {
                     echo ($y ==$pageR)? '<strong><a style="color:green" href="?  pageR='.$y.'">'.$y. '</a></strong>_':'<a href="?pageR='.$y.'">'.$y. '</a>_';
                  }
                   }

                      ?>
                     </table>
                     </div> 
                     </div>
                     </body>

如果我理解正确,请尝试使用active选项- http://api.jqueryui.com/tabs/#option-active -当您执行.tabs()以使候选选项卡成为活动选项卡时。

<script>
 $(function(){
 $('#tabs1,#tabs2').tabs(<?php if(isset($_GET['pageR'])) echo "{ active: 1 }"; ?>);
 });
</script>

<script>
 $(function(){
 $('#tabs1,#tabs2').tabs(<?php if(isset($_GET['pageR'])) echo '"option", "active", -1'; ?>);
 });
</script>

编辑
您可以先绑定.tabs(),然后设置active选项。这应该有望解决您的格式问题。

<script>
 $(function(){
 $('#tabs1,#tabs2').tabs();
 <?php if(isset($_GET['pageR'])) { ?>
 $('#tabs1').tabs("option", "active", -1)
 <?php } ?>
 });
</script>