2013-12-05 2 views
0

У меня есть полностью работающая разбивка на страницы с методом get. Я получаю результаты из моего запроса, и страница изменяется, когда переменная pagination изменяется на URL. Недавно я изменил сайт на ajax, и теперь я не могу получить значение страницы с кликомРезультат запроса Paginate с AJAX и PHP

У меня есть форма с некоторыми входами, которые я использую для генерации запроса и структуры ajax, которая соединяется с файлом PHP и помещает результат на сОн

Моего файл 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>"; 

Моего большой вопрос, как я могу получить фактическое значение страницы и как знать, какую кнопку нажал пользователь.

Я попытался изменить ссылку на кнопку отправки с атрибутом формы, которые снова отправляют форму и снова запускают весь код, но я не могу понять, как передать значение кнопки нажатой кнопки.

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

ответ

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) 
       } 
      }); 
     }) 

В РНР Yous должен повторить json_encode данные

echo json_encode(array('data' => $data)); 
Смежные вопросы