Серийный номер в разбивке на страницы PHP-MySQL

#php #mysql #pagination

#php #mysql #разбивка на страницы

Вопрос:

Я использую простую разбивку на страницы PHP-MySQL и использую серийный номер для своих записей. для этой цели я использую следующий код,

 $serial = 1;
$sql= mysql_query("SELECT * FROM TABLE LIMIT $limit");
while($row = mysql_fetch_array($sql)) {
$s_num = $serial  ;
$name = $row['name'];
echo $s_num . $name."<br>";
}
 

Теперь проблема в том, что серийный номер начинается с 1 на каждой странице моей разбивки на страницы, в то время как мне он нужен с 11-20 на 2-й странице, с 21-30 на 3-й странице и так далее.

Комментарии:

1. Вам нужно добавить (текущая страница) * $ предельное значение в $s_num

Ответ №1:

добавьте $page переменную, чтобы получить ее $_GET .

 $serial = ($page * $limit)   1;
$sql = mysql_query("SELECT * FROM TABLE LIMIT ".($page * $limit).", $limit");
while($row = mysql_fetch_array($sql)) {
    $s_num = $serial  ;
    $name = $row['name'];
    echo $s_num . $name."<br>";
}
 

Это правильно, но переменная page.должна начинаться с 0…. В противном случае серийный номер начинается с 11….

Ответ №2:

добавьте $page переменную, получите ее из $_GET .

 $page = $_GET['page'];
if (!$page) $page = 0;
else $page--; //first page become 0 instead of 1
$serial = ($page * $limit)   1;
$sql = mysql_query("SELECT * FROM TABLE LIMIT ".($page * $limit).", $limit");
while($row = mysql_fetch_array($sql)) {
    $s_num = $serial  ;
    $name = $row['name'];
    echo $s_num . $name."<br>";
}