Topic: Puslapiavimas

Kaip reikia padaryti puslapiavima mysql duomenu bazeje?

Re: Puslapiavimas

La,

Tikriausiai puslapiavimą nori daryti ne duombazėje, o kokiame nors tinklapyje.

Dažniausiai tai atliekama pasinaudojus LIMIT komanda.

SELECT * FROM lentele LIMIT 10 OFFSET 100

ši užklausa rodys 10 rezultatų pradedant nuo 100-ojo.

Tokiu būdu galima savo visus rezultatus sukapoti į puslapius, tarkime į puslapį dėsime po 50 įrašų, tada:

Pirmą puslapį aprašys: LIMIT 50 OFFSET 0
Antrą puslapį aprašys: LIMIT 50 OFFSET 50
Trečią puslapį aprašys LIMIT 50 OFFSET 150
it t.t.

Tinklapio scripte lieka atlikti tokius veiksmus:
a) suskaičiuoti, kiek iš viso yra rezultatų (nes reikes pagaminti puslapavimo valdymą);
b) suskaičiuoti, kiek iš viso bus puslapių (įrašų skaičių dalini iš kiek įrašų bus puslapyje, suapvalini iki sveikų skaičių į didesniąją pusę);
c) pagamini linkus į puslapius (rezultatai.php?puslapis=1, rezultatai.php?puslapis=2 ir t.t.)
d) vaizduodamas rezultatus tikrini, kurį puslapį reikia atvaizduoti ir pagal tai paskaičiuoti LIMI 50 OFFSET .. reikšmę, kurią naudosi užklausoje gauti rezultatams);

Tutorialas angliškai:
1) http://www.php-mysql-tutorial.com/php-mysql-paging.php
2) http://www.plus2net.com/php_tutorial/php_paging.php
LIMIT funkcijos aprašymas MySQL dokumentacijoje:
http://dev.mysql.com/doc/refman/4.1/en/select.html

Re: Puslapiavimas

Dekui.