Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Php Sayfalama Sorunu

hzirh

0
Onaylı Üye
Üye
Katılım
4 Aralık 2012
Mesajlar
2
Açılan Konu
2
Tepki puanı
0
İyi Günler Arkadaşlar Php de Sayfalama Yapmaya Çalışıyorum. Daha php de Yeni Sayılırım. Fazla Bi Bilgim var Sayılmaz. Bu Yüzden PHP de Sayfalama Yapmayı bi Türlü Halledemedim.

Yardım Edebilirmisiniz Arkadaşlar Ne Yaptıysam Hata Aldım.

Kodlar :
PHP:
                <ul class="blog-sayfa">
<?
 $paket=mysql_query("select * from blog order by id desc ");
   if(mysql_num_rows($paket)==0) print "<br/><br/><div class=alertx><center><font face=\"Arial, Helvetica, sans-serif\" size=\"2\">Henüz Hiçbir İçerik Eklenmemiş.</font></center></div>";
  	while($p=mysql_fetch_array($paket)){
		if($satir%1==0){echo "</tr><tr>";};
  ?> 
                                        <li class="blog-post">
															      	

                        <section class="blog-resim">

<img src="resimler/urunler/<?=$p[resim]?>_o.jpg" alt="<?=$p['baslik']?>" title="<?=$p['baslik']?>" height="115" width="200"/>

                        </section>

                        <section class="blog-icerik">

		                  <tr>
             
<a title="<?=$p[baslik]?>" href="blog/<?=$p['id']?>/<?php $yenibaslik = turkceyap($p['baslik']); echo $yenibaslik; ?>"><h2><?=substr($p[baslik],0,65)?>   >></h2></a>
                            <ul class="meta">

<table width="449" border="1">
  <tr>
    <td width="100">Yazar : Admin</td>
    <td width="230"><?=$p['katrul']?></td>
    <td width="97"><?=$p['tarih']?></td>
  </tr>
</table>




								</ul>
                            <p>
                  
				   <?=substr($p[aciklama],0,240)?>...
                            </p>
<a class="yazi-devami" href="blog/<?=$p['id']?>/<?php $yenibaslik = turkceyap($p['baslik']); echo $yenibaslik; ?>">Devamı »</a>

           

                        
                          </tr>   </section>                     
						<hr/ >

		                      
                    </li>

     <?php 
				$satir++;
				}echo ""; ?>  





                    <li>
                        <ul class="sayfalama">
                            <li class="aktif">
                                <a href="#">1</a>
                            </li>

                            <li>
                                <a href="#">2</a>
                            </li>

                            <li>
                                <a href="#">3</a>
                            </li>

                            <li>
                                <a href="#">4</a>
                            </li>

                            <li>
                                <a href="#">5</a>
                            </li>

                            <li class="ok">
                                <a href="#">»</a>
                            </li>

                        </ul>
                    </li>
                </ul>

Şimdiden Teşekkür Ederim Arkadaşlar.
 

CryForLive

0
Onaylı Üye
Üye
Katılım
31 Ocak 2012
Mesajlar
164
Açılan Konu
2
Tepki puanı
0
Konum
İstanbul
ilk önce bir limit belirle mesela benim bir tane sayfamda gösterilecek limit sayısı diyelimki 5

$limit = 5;

sonrada sayfalama yapılacak sayfayı belırt mesela

$sayfa = @$_GET["sayfa"];

bunları bir kontrole sokalım mesela boşsa ve dışarıdan sayfa değişkenine gelen değer numeric değilse

if(empty($sayfa) || !is_numeric($sayfa)) {
$sayfa = 1;
}

sonra bizim veritabanımızda ekranda göstereceğimiz verileri saydırmamız lazım bunun içinde

$saydir = mysql_num_rows(mysql_query("select * from islemyapilacaksayfa"));

toplam sayfayı alalım bunun için matematiksel bir işlem yapalım buda bölme işlemi neyi neye bölücez saydırılan sayfayı limite bölücez ceil ilede yuvarlayıp ondalıklı donen işlemi tam sayıya getircez

$bol = ceil($saydir / $limit);

bir başlangıcımız olacak olan sayfa sayısının bir eksiği ile limiti çarpıcaz

$baslangic = ($sayfa-1)*$limit;

sonra sorgumuzu oluşturalım

$sorgu = mysql_qeury("SELECT * FROM islemyapilacaksayfa ORDER BY id ASC LIMIT $baslangic,$limit");

bir döngüye alıp ekrana çıktıları verelim

while($goster = mysql_fetch_array($sorgu)) {
echo $goster["sayfabasligi"]; // senin ekranda çıkacak asıl yazılar veya içerik burada bulunacak
}

şimdi bir tanede koşul yapalım burada bolunen işlem limitten büyükse

if($bol > $limit) {
$x = 2; // aktif sayfadan önceki/sonraki sayfa gösterim sayısı
$yuvarla = ceil($bol/$limit);
}

tekrar bir koşul yapalım ve buda sayfa sayımız birden biyükse yapacakları belirtelim

if($sayfa > 1) {
$onceki = $sayfa-1;
echo "<a href="?sayfa=$onceki">« Önceki Sayfa </a>";

bir döngü yapalım ve tekrar bir koşul yapalım ve sayfa 1 i yazıdralım
for($i; $i<= $sayfa+$x; $i++) {
if($sayfa == 1) {
echo "<span class="sayfa">[$i]</span>";
}else {echo "<a href="?sayfa=$i">[$i]</a>";}

if($i==$lastP) break;
}
// "..." veya son sayfa
if($sayfa+$x < $yuvarla-1) {
echo "...";
echo "<a href="?sayfa=$yuvarla">[$yuvarla]</a>";
} elseif($sayfa+$x == $yuvarla-1) {
echo "<a href="?sayfa=$yuvarla">[$yuvarla]</a>";
}

if($sayfa < $yuvarla){

$sonraki = $sayfa+1;

echo "<a href="?sayfa=$sonraki"> Sonraki Sayfa » </a>";

}


}
}
 

hzirh

0
Onaylı Üye
Üye
Katılım
4 Aralık 2012
Mesajlar
2
Açılan Konu
2
Tepki puanı
0
CryForlive Teşekkür Ederim. Başka bir Forumda Cevabını buldum. Lazım olacak olur belki diye burada örnek kodları paylaşıyorum

PHP:
<ul class="blog-sayfa"> 
<?php
$sayfa = $_GET['sayfa'];
if((empty($sayfa)) or (!is_numeric($sayfa)))
{
  $sayfa = 1;
}
$toplamsorgu = [MENTION=382]MYSQL[/MENTION]_query("SELECT * FROM blog");
$toplamsorgusay = [MENTION=382]MYSQL[/MENTION]_num_rows($toplamsorgu);
$toplamsayfa = ceil($toplamsorgusay / 5);

if($sayfa > $toplamsayfa)
{
$sayfa = $toplamsayfa;
}

if($sayfa < 1)
{
$sayfa = 1;
}

$baslangic = ($sayfa-1)*5;


 $paket=mysql_query("select * from blog order by id desc LIMIT $baslangic,5"); 
   if($toplamsorgusay==0) print "<br/><br/><div class=alertx><center><font face=\"Arial, Helvetica, sans-serif\" size=\"2\">Henüz Hiçbir İçerik Eklenmemiş.</font></center></div>"; 
      while($p=mysql_fetch_array($paket)){ 
        if($satir%1==0){echo "</tr><tr>";}; 
  ?>  
                                        <li class="blog-post"> 
                                                                       

                        <section class="blog-resim"> 

<img src="resimler/urunler/<?=$p[resim]?>_o.jpg" alt="<?=$p['baslik']?>" title="<?=$p['baslik']?>" height="115" width="200"/> 

                        </section> 

                        <section class="blog-icerik"> 

                          <tr> 
              
<a title="<?=$p[baslik]?>" href="blog/<?=$p['id']?>/<?php $yenibaslik = turkceyap($p['baslik']); echo $yenibaslik; ?>"><h2><?=substr($p[baslik],0,65)?>   >></h2></a> 
                            <ul class="meta"> 

<table width="449" border="1"> 
  <tr> 
    <td width="100">Yazar : Admin</td> 
    <td width="230"><?=$p['katrul']?></td> 
    <td width="97"><?=$p['tarih']?></td> 
  </tr> 
</table> 




                                </ul> 
                            <p> 
                   
                   <?=substr($p[aciklama],0,240)?>... 
                            </p> 
<a class="yazi-devami" href="blog/<?=$p['id']?>/<?php $yenibaslik = turkceyap($p['baslik']); echo $yenibaslik; ?>">Devamı »</a> 

            

                         
                          </tr>   </section>                      
                        <hr/ > 

                               
                    </li> 

     <?php  
                $satir++; 
                }echo ""; ?>   





                    <li> 
                        <ul class="sayfalama"> 
<?php
for($x = 1; $x <= $toplamsayfa; $x++)
{
?>
<li<?php if($x == $sayfa) { echo " class = 'aktif'"; } ?>>
<a href="index.php?sayfa=<?php echo $x; ?>"><?php echo $x; ?></a>
</li>
<?php
}
?>

                        </ul> 
                    </li> 
                </ul>
 
Üst