На главную Статьи Функции

Постраничная навигация на PHP (LIMIT в sql запросе)




Постраничная навигация необходима, когда на странице категории в списке статей большое количество записей (в интернет магазинах количество записей может превышать тысячу). Чтобы избежать большого размера страницы по высоте вводят постраничную навигацию. С чего начать?
В начале разберемся с тем как мы выбираем данные из базы:

$query=mysql_query(”SELECT * FROM articles”);

Такой запрос выберет все записи из таблицы articles. Допустим нам необходимо выбрать 10 записей, тогда запрос несколько изменится:
$query=mysql_query(”SELECT * FROM articles LMIT 10”);

дальше, нам необходимо выбрать первые десять записей:
$query=mysql_query(”SELECT * FROM articles LMIT 0, 10”);

Обратите внимание на LMIT 0, 10. Первая цифра означает номер записи, с которой следует начать выборку данных, вторая – количество записей. Наверное вы уже поняли, что постраничная навигация – не такая сложная вещь. Итак, нам необходимо передать в запрос две переменные – количество выбираемых записей и номер записи, с которой нужно начать выборку. Для этого нам нужно сделать ссылки на страницы 1, 2, 3 и т.д.:
<?php
//подсчитываем количество строк в таблице:
$articles_count=mysql_num_rows(mysql_query(“SELECT *  FROM articles”));
//определяем количество страниц
//переменная $cnt содержит количество записей на странице
$page_cnt=$articles_count /$cnt;
for ($k=1; $k<=$page_cnt+1; $k++) {
//пишем ссылки на страницы
?>                                
<a href="index.php?cnt=<?php echo $cnt?>&pg_num=<?php echo $k;?>"><?php echo $k;?></a>
<?php            
}
?>
Теперь сам запрос будет выглядеть следующим образом:
$cnt=$_GET[‘cnt’];
$low=$_GET[‘pg_num’]*($cnt-1);
$query=mysql_query(”SELECT * FROM articles LIMIT $low, $cnt”);
Вот и все, если вы поняли логику, то для вас не составит труда написать аналогичный код и внести в него свои изменения, добавить еще условия выборки и т.д.



© 2010-2024 При использовании материалов ссылка на сайт www.webchaynik.ru обязательна

обратная связь