2016-04-12 2 views
-1

Я хочу использовать разбивку на страницы на строку, выбранную sql. Я использую этот код:Pagination on sql fetched row in php

 <?php 
     $rec_limit = 4; 

    $sql = "SELECT count(id) FROM wp_wct8 "; 
    $retval = mysql_query($sql); 
    if(! $retval) { 
     die('Could not get data: ' . mysql_error()); 
    } 
    $row = mysql_fetch_array($retval, MYSQL_NUM); 
    $rec_count = $row[0]; 
    if(isset($_GET{'page'})) { 
     $page = $_GET{'page'} + 1; 
     $offset = $rec_limit * $page ; 
    }else { 
     $page = 0; 
     $offset = 0; 
    } 



    $left_rec = $rec_count - ($page * $rec_limit); 


     $sql = "SELECT id, name, insurance ". 
     "FROM wp_wct8 ". 
     "LIMIT $offset, $rec_limit"; 

    $retval = mysql_query($sql); 
    if(! $retval) { 
     die('Could not get data: ' . mysql_error()); 
    } 

    while ($b = mysql_fetch_array($retval)){ 
    echo $b['name']; 
    echo $b['insurance']; 

    } 
    if($page > 0) { 
     $last = $page - 2; 
     echo "<a href = \"$_PHP_SELF?page = $last\">Last 4 Records</a> |"; 
     echo "<a href = \"$_PHP_SELF?page = $page\">Next 4 Records</a>"; 
    }else if($page == 0) { 
     echo "<a href = \"$_PHP_SELF?page = $page\">Next 4 Records</a>"; 
    }else if($left_rec < $rec_limit) { 
     $last = $page - 2; 
     echo "<a href = \"$_PHP_SELF?page = $last\">Last 4 Records</a>"; 
    } 
     ?> 

но пагинация не работает ... когда я нажимаю на шоу следующие 4 записи он показывает те же записи не next..please HelpMe ... спасибо заранее

ответ

0

I не рекомендуется размещать этот код в Интернете, поскольку он уязвим для SQL-инъекции. (Используйте подготовленные заявления с PDO вместо или, по крайней мере, избегайте ввода в SQL-запросе.)

Я предполагаю, что ошибка - это пробелы в ваших ссылках. Поэтому попробуйте удалить пробелы, например. echo "<a href = \"$_PHP_SELF?page=$last\">Last 4 Records</a> |";