使用AJAX和PHP分页查询结果

时间:2013-12-05 12:36:31

标签: php jquery html ajax pagination

我对get方法有一个完全有效的分页。我从查询中得到结果,当URL上的变量分页更改时页面会更改。我最近将网站更改为ajax,现在我无法从URL

获取点击的页面值

我有一个表单,其中包含一些用于生成查询的输入和一个连接到PHP文件并将结果放在div上的ajax结构

我的php文件:

  //items per page
  $quantidade = 30;
  //actual page
  $pagina     = (isset($_GET['pagina'])) ? (int)$_GET['pagina'] : 1;
  $inicio     = ($quantidade * $pagina) - $quantidade;
  $sql .= " LIMIT " . $inicio . " , " . $quantidade ;

  $qr  = mysql_query($sql) or die(mysql_error());

  echo "<table id='tab_vendas' border='1' width='100%'>";
  echo "<tr><td>Data</td><td>Loja</td><td>Total (AKZ)</td><td>Total (USD)</td><td>Multicaixa</td><td>Saidas</td><td>Visa</td></tr>";

  $num_rows = mysql_num_rows($qr);
  if($num_rows > 0){
    while($ln = mysql_fetch_assoc($qr)){
          echo "<tr><td>" . $ln['data']."</td>"; 
          echo "<td>" . $ln['loja']."</td>"; 
          echo "<td>" . $ln['totalkz']."</td>";
          echo "<td>" . $ln['totaldollar']."</td>";
          echo "<td>" . $ln['multicaixa']."</td>";
          echo "<td>" . $ln['saidas']."</td>";
          echo "<td>" . $ln['visa']."</td></tr>"; 
    }
  }else{
       echo "Não foram encontrados registos";
  }
echo"</table></div>";



  //total
  $sqlTotal   = "SELECT id FROM vendas";
  $qrTotal    = mysql_query($sqlTotal) or die(mysql_error());
  $numTotal   = mysql_num_rows($qrTotal);

  $totalPagina= ceil($numTotal/$quantidade);

   $exibir = 3;
   $anterior  = (($pagina - 1) == 0) ? 1 : $pagina - 1;
   $posterior = (($pagina+1) >= $totalPagina) ? $totalPagina : $pagina+1;

   echo "<div id='paginacao'><a href='?pagina=1'>Primeira</a> | ";
   echo "<a href=\"?pagina=$anterior\"><<</a> | ";       

   for($i = $pagina-$exibir; $i <= $pagina-1; $i++){
            if($i > 0)
             echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
  }

   echo '<a href="?pagina='.$pagina.'"><strong>['.$pagina.']</strong></a>';       

   for($i = $pagina+1; $i < $pagina+$exibir; $i++){
            if($i <= $totalPagina)
            echo '<a href="?pagina='.$i.'"> '.$i.' </a>';
  }

  echo " | <a href=\"?pagina=$posterior\">>></a> | ";
  echo "  <a href=\"?pagina=$totalPagina\">Ultima</a></div>";

我的一个大问题是如何获取实际的页面值以及如何知道用户点击的按钮。

我尝试将链接更改为具有form属性的提交按钮,该属性再次发送表单并再次运行所有代码,但我无法弄清楚如何传递单击的按钮值。

echo " | <input type='submit' form='filtros' name='$posterior' value='>>'>";
echo "  <input type='submit' form='filtros' name='$totalPagina' value='Ultima'></div>";

1 个答案:

答案 0 :(得分:0)

您可以简单地修改代码,使其工作与链接的页面一样。

      <a class="page" href="url.com?parameter=value&parameter2=value2">pageNumber</a>

javscript代码是:

      $('.a.page').on('click', function() {
          var url = $(this).attr(href);
          $.ajax({
              type: 'GET',
              url: url,
              success: function(response) {
                  $('selector to the container you wish to put the data').html(response.data)
              }
          });
      })

在你的php中你应该回复json_encode你的数据

    echo json_encode(array('data' => $data));