Zoque.Forum
Dirsek Teması:
Geri Dön Zoque.Forum » Webmaster Kaynaklari » Sunucu Tabanlı Programlama (Server Side) » PHP » PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )


Yanıt
 
LinkBack Seçenekler
Old 27.11.2006   #1 (permalink)
 
Üyelik Tarihi: 28.10.2006
Yer: Antalya
Yaş: 33
Mesaj: 11
PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )


Selamlar..
http://www.hurriyet.com.tr/gundem/54...rid=3428&oid=2
diğer yorumlar bölümündeki gibi sayfalama yapmaya çalışıyorum. Baktım olmadı
bir kaç yazılmış hazır kodu harmanlamaya çalıştım. $limitt="5"; değişkeniyle
sadece 5 sayfa gösteriliyor. İlk 5 sayfada problem yokken daha ilerileri
gittikçe en fazla 10 sayfa numarasına kadar ekrana yazıyor. Son beş sayfada
tekrar düzeliyor. Sadece 5 sayfa ismini göstermeyi nasıl sağlarım.


<?PHP
$page = $_SERVER['PHP_SELF'];
$limit = "10";
if(empty($_GET['sayfa'])) { $sayfa ="1";}
else{ $sayfa=$_GET['sayfa'];
}
$query = ("select id from haberler");
$girdi =mysql_query($query);
$sayi =mysql_num_rows($girdi);
$kac_tane = $sayi / $limit;
$kac_tane=ceil($kac_tane);

$limitt="5";

$i=$sayfa-$limitt;
$sinir=$sayfa+$limitt;
if($sinir>$kac_tane){ $sinir=$kac_tane;}
if($i<1){ $i="1";}
$son = ($sayfa-1)*$limit;
$query = "SELECT * From haberler order by id limit $son,$limit";
$veri = mysql_query ($query);

if ($sayfa<$sayi) {
$birIleri=$sayfa+1;
$ileri.="<a href='$page?syf=haberler&sayfa=$birIleri'>İleri »</a>";
}

if ($sayfa<$sayi) {
$birIleri=$sayfa+-1;
$geri.="<a href='$page?syf=haberler&sayfa=$birIleri'>Geri« </a>";
}

while($cikart = mysql_fetch_array($veri)) {

$baslik = $cikart['ad'];

if ($say%2)
$renk='#FFB755';
else
$renk='#AAE1FF';
?>

<? echo $baslik."<br><br>"; ?>

<?
$say++;
}
if( $sayfa>$limitt)

{
echo ("<a href=$page?syf=haberler&sayfa=1>ilksayfa<<<</a>$geri"); }

for($i; $i<=$sinir-1; $i++) {

echo("<a href=$page?syf=haberler&sayfa=$i>[$i]</a>");
}
if( $sinir<$kac_tane)

{
echo ("$ileri<a href=$page?syf=haberler&sayfa=$kac_tane>>>>Son
sayfa</a>"); }

else{ echo ("<a href=$page?syf=haberler&sayfa=$i>$i{bitti}</a>"); }
ob_end_flush();
?>
Tlepsh şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 27.11.2006   #2 (permalink)
mow
 
Üyelik Tarihi: 28.03.2003
Yer: İzmir
Yaş: 26
Mesaj: 784
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Alıntı:
$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 '<a href="?pageNumber='.$i.'">'.($i+1).'</a> | ';
$i++;
}
bu şekilde yapabilirsin.
mow şu an çevrimiçi  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 27.11.2006   #3 (permalink)
 
Üyelik Tarihi: 28.10.2006
Yer: Antalya
Yaş: 33
Mesaj: 11
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Teşekkürler.. Senin kod çok sadeymiş.. Biraz uğraşsam senin kodlarla harmanlayıp istediğim sonucu çıkartacağımda.. Beynim durdu şu anda.. Her yeri $i olarak görüyorum
Tlepsh şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 07.01.2007   #4 (permalink)
 
s5prin's Avatar
 
Üyelik Tarihi: 16.12.2006
Yer: istanbul
Yaş: 26
Mesaj: 483
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Biraz daha estetik numaralar gösteren bir şey yazdım, bildirgec'teki gibi :
Alıntı:
1 ... 4 5 6 7 8 ... 15
şeklinde gösteriyor;

PHP Code:
/*
Bu değişkenleri bir şekilde aldığınızı farz ediyorum:
$count = toplam yazı/üye/ürün sayısı
$perpage = sayfa başına yazı/üye/ürün gösterimi
$page = aktif sayfanın numarası
*/
if($count $perpage) :
  
$x 3// akrif sayfadan önceki/sonraki sayfa gösterim sayısı
  
$lastP ceil($count/$perpage);

  
// sayfa 1'i yazdır
  
if($page==1) echo "<span class=\"ThisPage\">1</span>";
  else echo 
"<a href=\"?page=1\">1</a>";
  
// "..." veya direkt 2
  
if($page-$x 2) {
    echo 
"...";
    
$i $page-$x;
  } else {
    
$i 2;
  }
  
// +/- $x sayfaları yazdır
  
for($i$i<=$page+$x$i++) {
    if(
$i==$page) echo "<span class=\"ThisPage\">$i</span>";
    else echo 
"<a href=\"?page=$i\">$i</a>";
    if(
$i==$lastP) break;
  }
  
// "..." veya son sayfa
  
if($page+$x $lastP-1) {
    echo 
"...";
    echo 
"<a href=\"?page=$lastP\">$lastP</a>";
  } elseif(
$page+$x == $lastP-1) {
    echo 
"<a href=\"?page=$lastP\">$lastP</a>";
  }
endif; 
İyi kullanmalar.
__________________
Spoiler:
s5prin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.11.2007   #5 (permalink)
 
turuncu's Avatar
 
Üyelik Tarihi: 08.08.2007
Yer: Ankara
Yaş: 25
Mesaj: 8
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Arkadaşlar ben soruyu biraz daha değiştirerek soracağım.
Ben kişisel web sitemde makaleler filan yayınlıyorum. Makaleri MySQL'den sayfalayarak çekebiliyorum. Ama makale bazen çok uzun olabiliyor. Mesela fotoğrafçılıkla ilgili bir makalede Photoshop tekniklerini anlatırken ne kadar kısa tutmaya çalışırsam çalışayım uzunca bir makale çıktı. O kadar uzun ki aşağıya in in bitmiyor. Peki MySQL'deki makale_yayindakiler tablosunda bulunan bu makaleyi nasıl sayfalayabilirim?
Saygılarımla.
__________________
Nemo plus iuris ad alium transferre potest quam ipse habet.
Hiç kimse sahip olduğu haktan fazlasını devredemez.
turuncu şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.11.2007   #6 (permalink)
 
s5prin's Avatar
 
Üyelik Tarihi: 16.12.2006
Yer: istanbul
Yaş: 26
Mesaj: 483
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Elbette teknik olarak da yolu var ama okunabilirlik vb. kriterleri de göz önünde bulundurursan bunu bölüm 1 - 2 - 3 gibi ayrı ayrı yayınlamak çok daha mantıklı olur, ayrı ayrı makalaleler şeklinde.
__________________
Spoiler:
s5prin şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 19.11.2007   #7 (permalink)
 
turuncu's Avatar
 
Üyelik Tarihi: 08.08.2007
Yer: Ankara
Yaş: 25
Mesaj: 8
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Evet olabilir tabi. Hatta insanı hiç uğraştırmaz da. Ama benim düşündüğüm şekilde biraz daha profesyonel bir tarz yakalanmış olmaz mıyız? Hatta makaleleri sayfalarken farklı bir CSS stili, makale içeriklerini sayfalarken farklı bir CSS stili mesela?
Yine de çok teşekkürler. Keza aklıma da gelmedi.
__________________
Nemo plus iuris ad alium transferre potest quam ipse habet.
Hiç kimse sahip olduğu haktan fazlasını devredemez.
turuncu şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 29.12.2007   #8 (permalink)
 
CBol@'s Avatar
 
Üyelik Tarihi: 25.12.2006
Yer: İstanbul
Mesaj: 24
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

Aklıma şuan gelen birşey var. Makalenin nereden itibaren bölümlere ayrılacağını belirlemek için atıyorum [bolum] diye bir tag eklersin, daha sonra regex'lerle o [bolum] taglarının olduğu yerlerden itibaren metni keser,sayfalarsın. Deneyip başarıp burayada yazarsan seviniriz
__________________
cbol@
love html,php,css,mysql :)
CBol@ şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Old 30.12.2007   #9 (permalink)
 
albay's Avatar
 
Üyelik Tarihi: 09.05.2007
Yer: İzmir
Yaş: 17
Mesaj: 115
Re: PHP Sayfalama hk. (ör: Geri 7 8 9 10 11 İleri )

regex in yanında biraz ilkel kalabiliama daha kolay bir yol... PHP nin gelişmiş metin işlemleriyle metni bölüp ilk bin karakter, ikinci bin karakter şeklinde okurken bölümlendirmeyi yapabiliriz...bölümleyerek kaydetmeden.. ama bencede regex le daha şık olur...
__________________
SHE-KER Networks
albay şu an çevrimdışı  
Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Spurl'e kaydet! http://reddit.com/submit?url=%url%&title=%title%Wong'e kaydet!Yahoo'ya kaydet!Google'a kaydet!MSN'e kaydet!Facebook'e kaydet!
Mesajdan alıntı yaparak yeni bir cevap ekleyin
Sponsorlu Bağlantılar
Zoque.Forum
Reklam
Yanıt

Etiketler

ileri , sayfalama , php


 
Zoque'a hoşgeldiniz!
Zoque 27.02.1999 tarihinde yayın hayatına başlamış, paylaşıma dayalı bir oluşumdur. Tasarım, teknoloji, web, kültür ve sanat ana başlıkları altında bilgi paylaşımı ve benzer değerlere sahip katılımcıların birbirleriyle iletişime girmelerine imkan sağlar. "Az ama Öz" sloganından yola çıkarak, kaliteli ve nitelikli katılımı temel alır.

Saygın ve ciddi bir ortamda yardımlaşmak, haberleşmek, kendi bildiklerini diğer katılımcılarla paylaşmak isteyen, oluşumumuza düzenli katılımda bulunacağı inancını taşıyan konuklarımızı üye olmaya davet ediyoruz. [ » ]


Üye Girişi:

En popüler ilk 100 etiket
Tag Cloud
acil adsl ajax almak arama araniyor ariyorum ariyoruz asp bilen bilgi bilgisayar blog calisma canon css div domain dosya eleman film firefox flash font form forum fotograf freelance google gore grafik grafiker hakkinda hangi hata hatasi hosting html ilgili ilk image internet istanbul istiyorum java javascript karakter kayit kisisel kullanimi link logo mac mail menu muzik mysql nasil neden nedir online oyun photoshop php problemi program programi reklam resim satilik sayfa script server ses sistemi site sitesi son soru sorun sorunsali sorunu sql swf tasarim tasarimci tasarimcisi tasarimi turk turkce veri video web windows wordpress xml yardim yazi yeni zoque
Zoque RSS Aboneliği
Son eklenen konuları e-posta ile haber verelim mi?

Forum Yazılımı: vBulletin® Version 3.7.4 Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

Arayüz/Skin "Güneş" © www.zoque.com / net. Copyright © 1999 - 2008
Forum Saati GMT +2. Şu anda saat: 12:28.