PHP ile sayfalandirma. Sayfalandirma tam olarak 1 2 3 .... 5 6 7 .... 20 21 22 seklinde sayfalarin siralanmasidir. Ilk olarak burda kullanacagimiz degiskenleri tanimlayalim.
**$sayfa_sayisi= 7; // Bu degisken toplam kac tane sayfamiz oldugunu gosteriyor
*$sayfa=1; // Bu degisken ise simdi hangi sayfada oldugumuzu gosteriyor.
*?>
Eger sayfa sayimiz 10 dan kucuk olursa yukardaki gibi bir gosterime gerek duymadan. Direk sayfa numaralarini gosterelim. Arkadaslar biz burda sayfalara link vermeden direk sayfanin numarasini gosteriyoruz siz tabiki de kullanirken bu sayfalara link vereceksiniz.
*$sayfa_sayisi= 7; // Bu degisken toplam kac tane sayfamiz oldugunu gosteriyor
*$sayfa=1; //d Bu degisken ise simdi hangi sayfada oldugumuzu gosteriyor.
*if ($sayfa_sayisi<=10)*{
**// eger sayfa sayimiz 10 dan kucuk olursa burasi isleyecek
**for ($a=1; $a<=$sayfa_sayisi;$a++)*{
***// sayfa sayisi kadar donguyu dondurduk
***echo "$a | "; // her dongude sayfa numarasini gosterdik
***********}
*******}
*?>
Simdi ise sayfa sayimiz 10 dan buyuk oldugu durumlarda ne yapacagimiza bi bakalim. Neden 10 dan buyuklerde bu yontemi kullanmiyoruz ? cunku; 100 tane sayfamiz oldugunu varsayalim o zaman 100 yane link gorunecek bu da hos bir goruntu olmaz.
*$sayfa_sayisi= 15; //10 dan buyuk olma durumunu inceleyecegimiz icin 15 yapiyorum.
*$sayfa=7; // Bu degisken ise simdi hangi sayfada oldugumuzu gosteriyor.
*if ($sayfa_sayisi<=10)*{
**// eger sayfa sayimiz 10 dan kucuk olursa burasi isleyecek
**for ($a=1; $a<=$sayfa_sayisi;$a++)*{
***// sayfa sayisi kadar donguyu dondurduk
***echo "$a | "; // her dongude sayfa numarasini gosterdik
***********}
*******}
*else{
**// Sayfa sayisi 10 dan buyuk olursa
**// ilk uc sayfa
**for ($a=1; $a<=3; $a++)*{
***echo "$a | ";
*******}
**// sonraki sayfalar
**switch ($sayfa) {
***case ($sayfa<=3):
****// sayfa 3 ten kucukse
****$sayfa_sayisi0=$sayfa_sayisi-1; // sayfa sayisindan onceki sayfa
****echo "... $sayfa_sayisi0 | $sayfa_sayisi";
****break;
***case ($sayfa==4):*
****// sayfa 4 esitse
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****$sayfa_sayisi0=$sayfa_sayisi-1; // sayfa sayisindan onceki sayfa
****echo "$sayfa | $sayfa1 ... $sayfa_sayisi0 | $sayfa_sayisi";
****break;
***case ($sayfa==5):
****// sayfa 5 esitse
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****$sayfa_sayisi0=$sayfa_sayisi-1; // sayfa sayisindan onceki sayfa
****echo "$sayfa0 | $sayfa | $sayfa1 ... $sayfa_sayisi0 | $sayfa_sayisi";
****break;
***case ($sayfa==$sayfa_sayisi):
****// sayfa sayfa sayisina esitse
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****echo "... $sayfa0 | $sayfa";
****break;
***case ($sayfa==($sayfa_sayisi-1)):
****// sayfa sayfa sayisindan 1 eksikse
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****echo "... $sayfa0 | $sayfa | $sayfa1";
****break;
***case ($sayfa==($sayfa_sayisi-2)):
****// sayfa sayfa sayisindan 2 eksikse
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****echo "... $sayfa0 | $sayfa | $sayfa1 | $sayfa_sayisi";
****break;
***case ($sayfa==($sayfa_sayisi-3)):
****// sayfa sayfa sayisindan 3 eksikse
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****$sayfa_sayisi0=$sayfa_sayisi-1; // sayfa sayisindan onceki sayfa
****echo "... $sayfa0 | $sayfa | $sayfa1 | $sayfa_sayisi0 | $sayfa_sayisi";
****break;
*****
***default:
****$sayfa0=$sayfa-1; // secili sayfadan onceki sayfa
****$sayfa1=$sayfa+1; // secili sayfadan sonraki sayfa
****$sayfa_sayisi0=$sayfa_sayisi-1; // sayfa sayisindan onceki sayfa
****echo "... $sayfa0 | $sayfa | $sayfa1 ... $sayfa_sayisi0 | $sayfa_sayisi";
****break;
******}
**}
*?>
PHP de sayfalama bu sekildedir arkadaslar.