Лесно странициране
Като начало, забелязах че на много сайтове им уроци, които сами по себе си са лесни и прости, но са трудни за интегрирани. Затова аз (автора на урока) рехиш да изоставя уроците за странициране и сам да си напиша. И проработи. Затова днес ще ви покажа моя (на автора) метод.
Ето как работи:

1. Взима номера на страницата
2. Прави заявка
3. Показва резултатите


Да започваме! Отваряме нов PHP скрипт и съзваваме променливи

<?php

$page = (int) $_GET['page'];

$max= "10";

$end = $page+$max;


В нашия линк ще имаме нещо като index.php?page=23. Променливата $_GET ще пази страницата. Променливата $page е направена за по-лесно изплзване на $_GET['page']. Сега трябва да направим заявка.

$sql = "select * from my_table limit $page,$end";


Изплзваме limit функцията на MySQL, която кара да взима записи от даден до даден ред. Синтаксисът е desc limit началночисло, крайночисло. Сега нека да направим и скрипта за показване на изходните данни.

$run = mysql_query( $sql );

while( $row=mysql_fetch_array( $run ) )

{

echo $row[’field’] ."<br>";

}

$next = $end+1;

$prev = $page-10;

echo "<a href=\"index.php?page=".$next."\">следваща</a>";
echo "<a href=\"index.php?page=".$prev."\">предишна</a>";

?>


Най-отдолу прави само линкове за следваща и предишна страница. Ние не сме направили свързване към базата от данни, защото ако правиш този урок ти ще имаш вече такава.

Демо няма.


Предов: deam0n
Източник: ap-gfx.com






/ Трябва да сте регистриран за да напишете коментар /
От: matev92
16:09 15-09-2009
Браво за урока, изглежда доста семпло :) Тъй като съм нов в PHP би ли ми казал къде ще се опишат самите страници в кода, смисъл да се различават една от друга?
От: admin
16:15 15-09-2009
Не разбрах въпроса но ако имаш проблеми със страницирането може да го коментираш във форума.
Повече хора ще могат да ти отговорят.

Странициране се ползва, когато трябва да изкараш много резултати и не може да е на една страница.
Както уроците примерно са на 30 страници по 60 резултата.
http://web-tourist.net/login/login/statii.php

Наистина не схванах какво питаш и не съм сигурен дали отговорът ми е по темата.
От: jointerx
23:58 25-09-2009
само, че имаш една грешка вместо $end в $sql трябва да е $max, демек

$sql = "select * from my_table limit $page,$max";
От: deam0n
7:56 26-09-2009
И защо мислиш така?
От: reletobg
19:43 26-11-2009
Чудесен урок.Добра работа ми свърши.
1