Köşe Yazılarım
Birde Bunlar Var
Php Sayfalama Kodlari
Az önce bir sitemde "1 ..... 6 7 8 9 ...... 15" tarzi sayfalama yapmaya ugrasirken webde gezinen bir kod isimi halletti, kod alintidir, sizlerle de paylasmak istedim. Fazlasiyla isinizi görecektir bunu sik bir css ile de renklendirebilirsiniz.
Asagidaki ilk kodu, sayfalama.php diye ayri bir dosya olarak dizin kismina kaydediyorsunuz.
function sayfalama($limit,$sayfano,$satir_sayisi=0,$sayfaadi='index.php',$adresdeger='' )
{
$sayfalama = '';
if($satir_sayisi > $limit )
{
$sayfa_sayisi = $satir_sayisi / $limit;
$sayfa_sayisi = ceil($sayfa_sayisi );
if($sayfano == $sayfa_sayisi )
{
$to = $sayfa_sayisi;
} elseif($sayfano == $sayfa_sayisi - 1 )
{
$to = $sayfano + 1;
} elseif($sayfano == $sayfa_sayisi - 2 )
{
$to = $sayfano + 2;
} else {
$to = $sayfano + 3;
}
if($sayfano < 4 )
{
$from = 1;
} else {
$from = $sayfano - 3;
}
if (4 < $sayfano )
$sayfalama .= ' 1........ ';
for($i=$from; $i ceil($satir_sayisi/$limit ) )
{
$sayfa = 1;
$baslangic = 0;
} else {
$baslangic = ($sayfa - 1 ) * $limit;
}
$sorgu = mysql_query("SELECT * FROM $tabloadi $kosullar LIMIT $baslangic,$limit",$baglanti );
echo "Kayitli uyeler listesi";
while($uyeyaz = mysql_fetch_array($sorgu ) )
{
$kullaniciadi = $uyeyaz['modeladi'];
echo "$kullaniciadi";
}
echo sayfalama($limit,$sayfa,$satir_sayisi,'index.php','&islem=1' );
Ardindan asagidaki kodlari da sayfalama yapacaginiz dosya içine ekliyorsunuz.
include("sayfalama.php" );
$baglanti = mysql_connect("localhost","dbkullaniciadi","dbsifren" );
if(! $baglanti ) or ("mysql baglantisi saglanamiyor" );
mysq_select_db("veritabaniadi",$baglanti ) or die ("veritabanina baglandi saglanamiyor" );
$limit = 10;
$kosullar = '';
$tabloadi = 'uyeler';
$sorgu = mysql_query("SELECT COUNT(* ) FROM $tabloadi $kosullar" );
$satir_sayisi = mysql_result($sorgu, 0 );
@ $sayfa = abs(intval($_GET['sayfa'] ) );
if(empty($sayfa ) || $sayfa > ceil($satir_sayisi/$limit ) )
{
$sayfa = 1;
$baslangic = 0;
} else {
$baslangic = ($sayfa - 1 ) * $limit;
}
$sorgu = mysql_query("SELECT * FROM $tabloadi $kosullar LIMIT $baslangic,$limit",$baglanti );
echo "Kayitli uyeler listesi";
while($uyeyaz = mysql_fetch_array($sorgu ) )
{
$kullaniciadi = $uyeyaz['modeladi'];
echo "<tr><td>$kullaniciadi</td></tr>";
}
echo sayfalama($limit,$sayfa,$satir_sayisi,'index.php','&islem=1' );
Az önce Avrupa Hosting rumuzlu arkadas ise farklı bir kod önermiş, paylaşayım.
$limit = 15; // bir sayfada kaç eleman olacağı
$showPage = 5; // kaç adet sayfa numarası gösterileceği
$totalRecord = mysql_num_rows(mysql_query("SELECT id FROM table"));
$totalPage = ceil(($totalRecord/$limit));
$query = mysql_query("SELECT * FROM table ORDER BY field DESC LIMIT ".intval($_GET["pageNumber">).",".$limit." ");
....
...
.
$i=intval($_GET["pageNumber">);
while($i < $showPage){
echo \'\'.($i+1).\' | \';
$i++;
}
Php Sayfalama Kodlari
Evet, sayfalama gerçekten de phpciler için büyük bir sorun halinde. Piyasada dagitilanlarin cogunda hata var maalesef yada yarim yarim aceleyle yazilmis kodlar.. Bu verdigimin hem kullanimi kolay, hemde kolay degistirilebilecek özelliklere sahip.
Yorum Nurullah tarafından 06/09/2007 0:50 tarihinde eklendi.
Php Sayfalama Kodlari
bu sayfalama olayi zamaninda beni çok ugrastirmisti
Yorum Mkrc tarafından 05/09/2007 21:42 tarihinde eklendi.
Yazının Başlığı : Php Sayfalama Kodlari
Yazıyı Ekleyen : Nurullah
Eklenme Tarihi : 05/09/2007 21:42
Okunma Sayısı : 733
Yorum Sayısı : 2



Yazan: dilara