Php Sayfalama Fonksiyonu(SORUN).

TeaMTurkeRŞenol TÜRKER

Selamun aleykum arkadaşlar php sayfalama kodlarımı bir çok yerde kullandığım için fonksiyon haline çevirmek istedim fakat bir türlü işin içinden çıkamadım yardım ederseniz sevinirim.

Fonksiyonum;

function Sayfala($Sayfa,$Toplam,$SayfaSayisi,$Get,$Url){ global $veriyolu; $LinkParcala = explode('?',$Url); $UrlParcala = explode('&',$LinkParcala[1]); for($UrlSay=0; $UrlSay < count($UrlParcala); $UrlSay++): $GetParcala = explode('=',$UrlParcala[$UrlSay]); if($GetParcala[0] != 's'){ $sayfala = $GetParcala[0]."=".$GetParcala[1]; $Link_2 = $sayfala; } endfor; echo $Link_2; $Link_1 = $LinkParcala[0]; if($Toplam > 5){ ?><div class="hc2"><?php $Gorunen = 2; if($Sayfa > 1){ $Onceki = $Sayfa -1; if(empty($Get)){ ?><divclass="sf_a"><ahref="<?=$Link_1;?>">&laquo;&laquo;</a></div><divclass="sf_a"><ahref="<?=$Link_1.'?s='.$Onceki;?>">&laquo;</a></div><?php }else{ ?><divclass="sf_a"><ahref="<?=$Link_1.'?'.$Link_2;?>">&laquo;&laquo;</a></div><divclass="sf_a"><ahref="<?=$Link_1.'?'.$Link_2.'&amp;s='.$Onceki;?>">&laquo;</a></div><?php } } for($i= $Sayfa - $Gorunen; $i < $Sayfa + $Gorunen + 1; $i++){ // FOR DÖNGÜSÜ BAŞLADI if($i > 0 and $i <= $SayfaSayisi){ if($Toplam > 1){ if($i==$Sayfa){ ?><divclass="sf_a"><b><?=$i;?></b></div><?php }else{ if(empty($Get)){ ?><divclass="sf_a"><ahref="<?=$Link_1.'?s='.$i;?>"><?=$i;?></a></div><?php }else{ ?><divclass="sf_a"><ahref="<?=$Link_1.'?'.$Link_2.'&amp;s='.$i;?>"><?=$i;?></a></div><?php } } } } } // FOR DÖNGÜSÜ BİTTİ. if($Sayfa != $SayfaSayisi){ $Sonraki = $Sayfa +1; if(empty($Get)){ ?><divclass="sf_a"><ahref="<?=$Link_1.'?s='.$Sonraki;?>">&raquo;</a></div><divclass="sf_a"><ahref="<?=$Link_1.'?s='.$SayfaSayisi;?>">&raquo;&raquo;</a></div><?php }else{ ?><divclass="sf_a"><ahref="<?=$Link_1.'?'.$Link_2.'&amp;s='.$Sonraki;?>">&raquo;</a></div><divclass="sf_a"><ahref="<?=$Link_1.'?'.$Link_2.'&amp;s='.$SayfaSayisi;?>">&raquo;&raquo;</a></div><?php } } ?></div><?php }
}

Kullanım şekli;

$hesapla = mysql_query('select * from colors'); $Toplam = mysql_num_rows($hesapla); // SAYFALAMA SORGUSU$Sayfa = intval($_GET['s']); if(!$Sayfa)$Sayfa = 1; $Limit = 5; $SayfaSayisi = ceil($Toplam/$Limit); if($Sayfa > $SayfaSayisi) $Sayfa = 1; $Goster= $Sayfa * $Limit - $Limit; $sor = mysql_query('select * from colors ORDER BY color_id DESC LIMIT '.$Goster.','.$Limit.''); while($yaz = mysql_fetch_assoc($sor)){ echo'<b>'.$yaz['color_name'].'</b><br/>'; } Sayfala($Sayfa,$Toplam,$SayfaSayisi,$_GET['i'],$_SERVER['REQUEST_URI']);


Şimdi tam olarak fonksiyondaki sorunum şu;
link olayı kafamı karıştırıyor tek getli linklerde sorunsuz çalışıyor fakat çok getli linklerde çalışmıyor bi türlü işin içinden çıkamadım, aslında hazır bir sayfalama classı'da kullanabilirim ama ben işin mantığını öğrenmek istiyorum o yüzden fikirlerinizi paylaşmanızı bekliyorum arkadaşlar.

2013-05-09 01:21:30 Edit:2013-05-09 01:25:12

Php

sayfalamak icin bir ozel fonksiyon ile ugrasma  derim    bence cokta gerekli olmayan bir durum zaten for dongusu ile  sayfaladıgın icin oyle ekstra bir  sey yapmana gerek yok derim 

2013-05-09 10:26:27

Php

alicilinAli Fırat Güler

Eğer class kullanmasını biliyorsanız benim yazmış olduğum bir sayfalam sınıfım var. burada paylaşabilirim isterseniz ? kullanımıda oldukça basit.

2013-05-09 10:50:07

Php

TeaMTurkeRŞenol TÜRKER

tabiki paylaşırsan sevinirim ali ustam lakin ozaman hazıra konmuş olurum benim için önemli olan işin mantığını ve çözümünü öğrenmek ustam

2013-05-09 12:32:42

Php

alicilinAli Fırat Güler

Dosya indir : sayfala.rar

Kullanımı:

include 'sayfala.php';

$s = new sayfala;

$s->page = $_GET['liste'];

$s->limit = '15';

$s->say = 'Bu kısma veri tabanında kaç tane veri olduğunu saydırıp buraya bu değeri vericeksiniz';

$s->linkx = 'ornek.php?liste=';

$s->basla();

mysql_query("Select falan fişman From tablo falan .... LIMIT $s->start,$s->limit");

$s->sayfa_bas(); // isterseniz değerini alın isterseniz echo ile ekrana basın.

2013-05-09 21:46:26

cok iyi bir sınıf  olmus ellerine saglık  ustadım

+100

2013-05-10 10:23:13

Edit:

TeaMTurkeRŞenol TÜRKER

sınıf için teşekkürler ali ustacım biraz geliştirmek istiyorum sınıfı lakin yine aynı sıkıntı ile karşılaşıyorum benim tam olarak yapmak istediğim şey şu el ile link girmek girmek yerine $_SERVER['REQUEST_URI'] ile linki gönderip bunu bir işlem ile parçalamak işte tam olarak burda takılıyorum phpclasses.org'da böyle bir sınıf yapmış birisi lakin onun mantığını anlayamadım çok karmaşık bir kod yapısı var benim için önemli olan işimin görülmesi değil işimi gören kod ve kodları anlamak öğrenmek yoksa phpclasses.org'da bir çok sınıf var kullanabileceğim ama diyorum ya işte ben bilgiye açım önemli olan algoritmayı öğrenmem :)

2013-05-12 19:27:36

phpkodlari.com © 2009 Herkes Php öğrenecek
Eglence ve Oyun: Gamikro