REKLAM ALANI

PHP Sayfanın içeriğini listelemek

avatar TRWebmaster
Aktif Üye
203
#1
Yorumu Paylaş

Bir sayfada ne kadar içerik olacağını belirledik, şimdi gelelim bulunduğumuz sayfaya göre içeriklerimizi listelemeye. Bu noktada artık kullanıcı tarafından sayfa sayısını almanın zamanı geldi. Ben örneğimde “sayfa” GET verisi ile alacağım, yani index.php?sayfa=2 şeklinde olacak. İsterseniz “s”de idealdir.
 
PHP Kod:
// eğer sayfa girilmemişse 1 varsayalım.
$sayfa = isset($_GET['sayfa']) ? (int) $_GET['sayfa'] : 1;
 
// eğer 1'den küçük bir sayfa sayısı girildiyse 1 yapalım.
if($sayfa 1$sayfa 1; 
 
// toplam sayfa sayımızdan fazla yazılırsa en son sayfayı varsayalım.
if($sayfa $toplam_sayfa$sayfa $toplam_sayfa;  

Eklediğimiz bu ufak koşullar ile geçersiz yazılan sayfa numaralarından doğacak olan hataları da engellemiş oluyoruz. Ayrıca değişkeni tanımlarken başına (int) eklememiz sayı haricinde yapılan girişleri geçersiz kılıyor. Bu ifadeyi NO, ID gibi dışardan gelen verileri çekerken de kullanabilirsiniz.
 
Hangi sayfada olduğumuzu da belirlediğimize göre artık içeriklerimizin istenilen kısmını listeleyebiliriz.
 
PHP Kod:
// kaçıncı içerikten başlanacağını ifade edecek limit değeri.
$limit = ($sayfa 1) * $sayfada;
 
$sorgu 
mysql_query('SELECT * FROM mesajlar LIMIT ' $limit ', ' $sayfada);
 
while($icerik mysql_fetch_assoc($sorgu)) {
   // ...


Sanırım kilit ve kafa karıştıran noktası burası. LIMIT ifadesi ile tüm içerikler arasından bizim istediğimiz adet ve aralıktaki içerikleri istiyoruz. Normalde sadece “LIMIT 10” dediğimizde 10 adet içerik verir. Fakat virgül ile ikinci bir sayı daha girdiğimizde kaçıncı sıradan sonra vereceğini ifade eder.
 
Yani “LIMIT 0, 5” dediğimizde 0. içerikten yani ilk içerikten sonra 5 tane ver diyoruz, bu bizim ilk sayfamız oluyor. 2. sayfa için “LIMIT 5, 5” yani 5. içerikten sonra 5 tane göster diyoruz. 3. sayfa için “LIMIT 10, 5”. Bu ifade için “($sayfa – 1) * $sayfada” işlemimizi yapıyoruz.
deneme
Aktif Üye

Konuda Ara

0 Yorum


Konuyu Okuyanlar: