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>
<?php
################################################## ################################
# 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=<?php echo $geri ?>">Geri</a>
</td>
<?php
}
}
//ilk ve son sayfalar arasındaki sayfa numaralarını yazdırıyoruz
if( $sayfano>1 && $sayfano<$sayfasayisi )
{
?>
<td>
<a href="sayfalandirma.php?sayfano=<?php echo $geri ?>">Geri</a>
</td>
<?php
}
################################################## #################################
//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=<?php echo $denbasla ?>"><?php echo $denbasla; ?></a></td>
<?php
} else {
?>
<td><a href="sayfalandirma.php?sayfano=<?php echo $denbasla ?>"><?php echo $denbasla; ?></a></td>
<?php
}
}
$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=<?php echo $ileri ?>">İleri</a>
</td>
<?php
}
//Eğer ilk sayfa ise ileri seçeneğini yadırıyoruz
if($sayfano==1)
{
if ($sayfasayisi!=1)
{
?>
<td>
<a href="sayfalandirma.php?sayfano=<?php echo $ileri ?>">İleri</a>
</td>
<?php
}
}
################################################## ###################################
# Bu kısımda sadece ileri ve geri yazısının yazılma şartlarını belirliyoruzun bitişi#
################################################## ###################################
?>
</tr>
</table>
PHP ile Sayfalandırma


LinkBack URL
About LinkBacks




Alıntı
