Blog nedir? . . . Kendi blogunu oluştur ;)

PHP ile vBulletin Tarzı Sayfalama yapma

Selamün Aleyküm Arkadaşlar .


Şimdi Sizlere vBulletin tarzı uzantısı ..../sayfa=1 ,.... /sayfa=2... Gibi Biten listeme yapmanın mantıgını anlatmaya calıscam.

İlk Once Şu Şekilde Bir Mantıkla İşe Başlıyoruz .


GET modülünden sayfa numarasi al


PHP- Kodu:


$sayfa = @$_GET["sayfa"];  
//bir sayfada listelenecek kayit sayisi
PHP- Kodu:
$sayfalik_kayit = 10;  
//sayfa belirlenmemisse, sayfa=1 yap


PHP- Kodu:

if( empty($sayfa) ){ $sayfa=1; }  
//limit baslangici


PHP- Kodu:

$baslangic = ($sayfa*$sayfalik_kayit)-$sayfalik_kayit;  
//bütün kayitlari sorguluyoruz


PHP- Kodu:
$genel_sorgu = mysql_query("select * from sozluk");  
//toplam kaydi hesapliyoruz.

PHP- Kodu:
$toplam_kayit = mysql_num_rows($genel_sorgu);  
toplam sayfayi hesapliyoruz.

PHP- Kodu:
$toplam_sayfa = ceil($toplam_kayit/$sayfalik_kayit);  
//ceil() İfadesi Çıkacak Olan Sonucu Yukarı Yuvarlama yapar

Örnek toplam_kayit/sayfalik_kayit Bize kac sayfa olcagını solicek ya bunun sonucu 2.6 ıse ceil ile biz onu 3 yaparız anladık umarım .Devam edıyoruz.


PHP- Kodu:
$sql = mysql_query("Select * from TABLO_ADIN limit $baslangic,".($sayfa * $sayfalik_kayit)";  
<< İşte Burda Farkettiğimiz bi olay ne 

PHP- Kodu:
limit $baslangic,".($sayfa * $sayfalik_kayit)  

Bu ifade bu tablodan cektıgın verileri limitliyor sayfa basına kac dedıysek o kadar lıstelememızı saglıyor .

Şimdi De Sayfa 1 , Sayfa 2 , dıye lıstelememız lazım 1 e basınca sayfa 1 e gelmelı 2 ye basınca 2 ye onuda Select Secmelı bır menu ıle yapayım oda sole kucuk bı for dongusu ile tamamdır For dongusu ile o selectli ıfadenın hepsını aynı anda yazıyorum acıklanacak bı tarafı yok eger anlamıorsunu for dongusunu bılmıyorsunuz demektır ..

PHP- Kodu:
echo "<select onchange="location='SAYFALAMA YAPTIGIN SAYFANIN ADRESİ.php?sayfa='+this.value">n"; 
for($i=0;$i<$toplam_sayfa;$i++){ 
$sayfa_no = $i+1; 
$sec = ($sayfa_no==$sayfa) ? " selected" : ""; 
echo "<option value="$sayfa_no" $sec>Sayfa $sayfa_no</option>n"; 

echo "</select>nn"; 

 

Anlatın Hasann 'a Aittir Kendisine Teşekkür Ediyoruz. 

Bu yazıya yorum yap