Google tarzı sayfalama yapan php scripti

bir tablodaki tüm kayıtları getiren ve ekrana basan php fonksiyonu aşağıdaki gibidir. Eğer bir arama sonucu için kullanacaksanız sql sorgusunu düzenlemeniz gerekir.

  1. function google_paging($tablo,$sayfalama_sayisi=10,$gosterim_sayisi=25)
  2. {
  3. if (isset($_GET['sayfa']))
  4. {
  5. $sayfa = $_GET['sayfa'];
  6.  
  7. }
  8. else
  9. {
  10. $sayfa = 0;
  11. }
  12.  
  13.  
  14. $basla_sayfa = $sayfa * $gosterim_sayisi;
  15.  
  16. $liste_q = "select * from $tablo limit $basla_sayfa,$gosterim_sayisi ";
  17. $liste_s = mysql_query($liste_q);
  18.  
  19. $founded_s = mysql_query("select count(*) as sayi from $tablo");
  20. //bir arama sonucunda ekrana getirecekseniz yukarıdaki satırı comment'leyip aşağıdaki satırı kullanın
  21. //$founded_s = mysql_query("select found_rows() as sayi");
  22.  
  23. $founded_fo = mysql_fetch_object($founded_s);
  24.  
  25. $sonuc_sayisi = $founded_fo->sayi;
  26.  
  27. if(is_float($sonuc_sayisi/$gosterim_sayisi))
  28. {
  29. $sayfa_sayisi = floor($sonuc_sayisi/$gosterim_sayisi)+1;
  30. }
  31. else
  32. {
  33. $sayfa_sayisi = floor($sonuc_sayisi/$gosterim_sayisi);
  34. }
  35.  
  36. if($sonuc_sayisi>$gosterim_sayisi)
  37. {
  38. $gosterilen_kayit_basla = ($baslangic_sayfasi)*$gosterim_sayisi;
  39. }
  40. else
  41. {
  42. $gosterilen_kayit_basla = 0;
  43. }
  44. if(($gosterilen_kayit_basla+$gosterim_sayisi-$sonuc_sayisi)>=0)
  45. {
  46. $gosterilen_kayit_son=$sonuc_sayisi;
  47. }
  48. else
  49. {
  50. $gosterilen_kayit_son = $gosterilen_kayit_basla+$gosterim_sayisi;
  51. }
  52.  
  53. $baslangic_sayfasi = 0;
  54.  
  55.  
  56. if(isset($_GET['sayfa']))
  57. {
  58. $baslangic_sayfasi = $_GET['sayfa'];
  59. }
  60.  
  61. if($baslangic_sayfasi!=0)
  62. {
  63. $sayfalama_div = '<a class="link" href="?q=listele&sayfa='.($baslangic_sayfasi-1).'"> &lt;&lt; &Ouml;nceki </a>';
  64. }
  65.  
  66.  
  67. if($sayfa_sayisi>0)
  68. {
  69. if(($baslangic_sayfasi-$sayfalama_sayisi)>=0)
  70. {
  71. $sayfa_baslama = $baslangic_sayfasi-$sayfalama_sayisi;
  72. }
  73. else
  74. {
  75. $sayfa_baslama = 0;
  76. }
  77.  
  78. if(($sayfalama_sayisi + $baslangic_sayfasi) >= $sayfa_sayisi)
  79. {
  80. $sayfa_bitis = $sayfa_sayisi;
  81. }
  82. else
  83. {
  84. $sayfa_bitis = $baslangic_sayfasi + $sayfalama_sayisi;
  85. }
  86. for ($i = $sayfa_baslama; $i < $sayfa_bitis; $i++)
  87. {
  88. if($baslangic_sayfasi!=$i)
  89. {
  90. $sayfalama_div .= "<a class=\"beyaz\" href='?q=listele&sayfa=".($i+$artik_sayfa)."'>".($i+1+$artik_sayfa)." </a>";
  91. }
  92. else
  93. {
  94. $sayfalama_div .= "<b><span class=\"link2\">".($i+1+$artik_sayfa)."</span></b> ";
  95. }
  96. }
  97. }
  98. if($sayfa_sayisi!=($baslangic_sayfasi+1) && ($sayfa_sayisi!=0 && $sayfa_sayisi!=0))
  99. {
  100. $sayfalama_div .= '<a class="link" href="?q=listele&sayfa='.($baslangic_sayfasi+1).'"> Sonraki>></a>';
  101. }
  102.  
  103. return $sayfalama_div;
  104. }
  105.  
  106.  
  107.  
  108.  

EkBoyut
google_page_tr.rar890 byte

Yeni yorum gönder

Bu alanın içeriği gizli tutulacak ve açıkta gösterilmeyecektir.
 .