PHP ile Sayfalandırma

PHP ile sayfalandırma yapımı konusunu ele alalım ve veri tabanından çektiğimiz verileri gösterirken sayfalama yaparak her sayfada istediğimiz sayıda konu görünmesini sağlayalım.

PHP ile sayfalandırma yapımı konusunu ele alalım ve veri tabanından çektiğimiz verileri gösterirken sayfalama yaparak her sayfada istediğimiz sayıda konu görünmesini sağlayalım.

Gerekli açıklamalar kodun içinde mevcuttur.


<?php 

////////////////BİSMİLLAHİRRAHMANİRRAHİM///////////////////////////



/* Mysql baglantısını yazın */

$dbhost        "localhost";

$dbuser        "";

$dbpass        "";

$dbadi        "";

$baglan        mysql_connect($dbhost,$dbuser,$dbpass);

//tukçe karakterler için

mysql_query("SET NAMES 'latin5'");



if(! 
$baglan) die("Mysql baglantisi saglanamiyor");

mysql_select_db($dbadi,$baglan) or die("Veritabani baglantisi saglanamiyor");







$sayfa=$_GET['sayfano']; //bU GET sayfa numarasını alıyoruz



//Sayfa numarasını alıyoruz

/*sayfaya ilk girildiğinde $_GET['sayfano'] boş bir değere sahip olacağında böyle

bir if döngüsüne girdik*/

if ($sayfa)

{

    
$sayfano=(intval(abs ($_GET['sayfano']) ) ); 

} else {

    
/*sayfaya ilk girildiğinde $_GET['sayfano'] boş bir değere sahip olacağında böyle

     bir if döngüsüne girdik*/

    
$sayfano=1;

}



//Her sayfada gösterilecek bilgi adetini alıyoruz sayıyı alıyoruz

if($_POST['kacadet']) 

{

    
$kacadet=$_POST['kacadet'];



elseif (!
$_POST['kacadet']) 

{

    
$kacadet=1;

}





/*Buradaki $limit veri tabanından bilgileri çekerken kaçıncı veriden başlayacağımızı bildirir.

Örneğin sayfa 2 olduğunda $limit 10 olur ve veri tabanındaki 10. veriden itibaren 10 adet veri sıralanır böylece 10. veriden 19. u veriye kadar olan veriler sıralanır*/

$limit=($sayfano-1)*$kacadet;  



//Verilerin içeriğini alıyoruz

$veriler       =mysql_query("select id from sol_ana_menu");

$veriler_sonuc =mysql_query("select id from sol_ana_menu limit $limit,$kacadet");

$verisayisi       =mysql_num_rows($veriler);



while (
$oku=mysql_fetch_array($veriler_sonuc)) 

{

    echo 
"Bu kısımlara veri tabanından alınan veriler yazılacak<br>";

}



//Toplam sayfa sayısını hesaplıyoruz

$sayfasayisi=ceil($verisayisi/$kacadet);



/*İleri ve geri butonuna bastığımızda olduğumuz sayfadan bir öncekinin sayfanosunu

alıyoruz*/

$geri=$sayfano-1;

$ileri=$sayfano+1;



?>



<table align="right" cellpadding="5" cellspacing="5" >

<tr>

    

    



##################################################################################

# Bu kısımda sadece ileri ve geri yazısının yazılma şartlarını belirliyoruz#######

##################################################################################

        

        //Son sayfa ise geri seçeneğini yazdırıyoruz

        if($sayfano==$sayfasayisi)

        {    

            if ($sayfasayisi!=1)

            {

?>            

            <td>    

                <a href="sayfalandirma.php?sayfano= echo $geri ?>">Geri</a>

            </td>



            }

        }

         //ilk ve son sayfalar arasındaki sayfa numaralarını yazdırıyoruz

        if( $sayfano>1 && $sayfano<$sayfasayisi )

        {

?>            

            <td>    

                <a href="sayfalandirma.php?sayfano= echo $geri ?>">Geri</a>

            </td>





        }

###################################################################################    

        //kaç tane sayfa numarasının görünmesinin belirlenmesi

        $numarasayisi=5;  //Aynı anda Kaçtane sayfa numarası yazılsın sadece bunu değiştirin:)

        $x=intval((($sayfano-1)/$numarasayisi));

        $denbasla=$numarasayisi*$x;

        

        if ($denbasla==0) $denbasla=1;

        

        //Sayfa numaralarını yazdırıyoruz

        while( $denbasla<=($numarasayisi*($x+1)) )

        {

            if($denbasla<=$sayfasayisi)

            {

                if ($sayfano==$denbasla)

                {

?>    

                <td bgcolor="blue"><a href="sayfalandirma.php?sayfano= echo $denbasla ?>"> echo $denbasla; ?></a></td>



                } else {

?>

                    <td><a href="sayfalandirma.php?sayfano= echo $denbasla ?>"> echo $denbasla; ?></a></td>

            

                }                    

            }

            

            $denbasla++;

        

        }

##################################################################################

        //ilk ve son sayfa numaraları arasında ileri seçeneğini yazdırıyoruz

        if( $sayfano>1 && $sayfano<$sayfasayisi )

        {

?>

            <td>    

                <a href="sayfalandirma.php?sayfano= echo $ileri ?>">İleri</a>

            </td>



        }

        

        //Eğer ilk sayfa ise ileri seçeneğini yadırıyoruz

        if($sayfano==1)

        {

            if ($sayfasayisi!=1)

            {

?>            

            <td>    

                <a href="sayfalandirma.php?sayfano= echo $ileri ?>">İleri</a>

            </td>



            }

        }

        

#####################################################################################

# Bu kısımda sadece ileri ve geri yazısının yazılma şartlarını belirliyoruzun bitişi#

#####################################################################################

        

?>



</tr>

</table> ?>



Kaynak dosyayı indirmek için buraya tıklayınız.
Alternatif link
  • Etiketler;
Tracyserkan Tracyserkan
Zafer çalmaya değil kazanmaya geldik!
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

teşekkürler, kodlardaki açıklamalarıyla, kaynak dosyasıyla güzel bir ders olmuş..
Bende başlıyalı 5 ay falan oldu. Elimden geldiğince birşeyler yapmaya çalışıyorum. Bu tarz yaptığım örnekleri paylaşmaya devam edeceğim
Bende yaklaşık 5 ay oldu php başlıyalı. Böyle örnek çalışmalarımı burda yayınlamaya devam edeceğim.
:-dusun::gul::D:agla::uzul::kirp::hayret:
Teşekkür ederim PHP ye olan merakım gün geçtikçe artiyor sayenizde:)
Link yenilenebilir mi?
linkleri yenilermisiniz lütfen çok lazım
arkadaşlar link çalışıyor ama rapidden kaynaklanan bir sorun olabilir. Dosyalar güncellendi.
Derse ait dosya yeni linklerle güncellendi
öncelikle çok teekkürler bu siteden bugüne kadar çok şeyler öğrendim. bu kodları ile ben karikatür modülü oluşturacam tek yapamadığım veritabanından alınan resmin üzerine tıklanıldığında da sayfalandirma.php?sayfano=1 , 2, 3 sayfalarına gitmesini sağlamaktı ama bir türlü yapamadım....
bu dersin videolusunu ekleseniz güzel olur çünkü benim gibi yazılı derstern pek bir şey anlamayan kişiler olabilir.

Yukarı Git