<Onceki | 1
2 3 | Sonraki > seklinde hazirlanan sayfa indekslerinin olusturulmasi
ve ozellestirilebilir site sablonlarin cikarilmasi...
Bu konu icin asagida hazirlanan ornek gercekten cok aciklayici.Herhangi
bir karmasaya izin vermeden tum veritabani ciktilarinizi kendinize
gore ozellestirebilirsiniz.Bunu asagida verilen program yardimiyla
yapmak icin programci olmaya bile gereksinim yok :) Yanlizca
Turkce'yi okuyor yaziyor olmak yeterli...
Programin basinda gerekli ozellestirmeleri yapiyorsunuz.Ardindan
programin ortasina dogru yer alan bolumde istediginiz ciktiyi
yapilandiriyorsunuz.Bununla ilgili ornek o bolumde yer aliyor.
Cozum :
<?php
/*=====================================================*/
/*==Program icinde kullanilan veritabani degiskenleri==*/
/*=====================================================*/
$sunucu = "localhost"; // Sunucu Adresi..Genelde localhost
yazmak yeterli.
$kullaniciadi = ""; // Kullanici Adi
$sifre = ""; // Sifreniz
$veritabani = ""; // Veritabani ismi
$vt_tablosu = ""; // Kayitlarin gosterilecegi tablonun adi
$KayitLimiti = 10; // Sayfa basina kayit sayisi
/*==================================================*/
/*==Ileri/Geri linkleri icin font ve renk ayarlari==*/
/*==================================================*/
$oncekiDurum = "Onceki $KayitLimiti kayidi goster";
$sonrakiDurum = "Sonraki $KayitLimiti kayidi goster";
$oncekiLink = "< Onceki|";
$sonrakiLink = "|Sonraki >";
$fontailesi = "tahoma, helvetica";
$fontboyutu = "13px";
$fontrengi = "#000000";
$aktifdegilse = "#666666"; //1 2 3 seklindeki ve onceki sonraki
sayfalarinda eger sayfa goruntuleniyorsa aktif link degilde
text olarak gosterecegiz...
$fontagirligi = "700";
$textdekorasyonu = "none";
/*==========================================*/
/*==Durum cubugunda goruntulenecek bilgi====*/
/*==========================================*/
function sayfaDurum($i){
echo " $i Numarali sayfayi gormek icin tiklayiniz...";
}
/*====================================================*/
/*==Sunucu ve veritabani baglantilarini gerceklestir==*/
/*====================================================*/
$baglanti = mysql_connect("$sunucu","$kullaniciadi","$sifre")
or die ("Veritabani sunucusuna baglanilamiyor");
$veritabani = mysql_select_db("$veritabani",$baglanti)
or die("Veritabanina baglanilamiyor");
/*==================================================================================*/
/*==Eger oteleme degiskeni bir deger tasimiyorsa degerini
sifir(0) yap==============*/
/*==================================================================================*/
if (!isset($oteleme) || $oteleme < 0) $oteleme=0;
if ($islem==ara) $oteleme = $oteleme - 1;
/*=====================================================================================================*/
/*==Bu degisken dize indexini tutmak icin kullaniyor.Eger
degere sahip degilse sifir(0) olarak ayarla==*/
/*=====================================================================================================*/
/*=====================================================================================================*/
if (!isset($dizeindex) || $dizeindex < 0) $dizeindex=0;
if ($islem==ara) $dizeindex = $dizeindex - 1;
/*========================================*/
/*==Ana SQL sorgusunu hazirla=============*/
/*========================================*/
$sql="SELECT * FROM $vt_tablosu";
//$sql.=" WHERE kategori = ''";
/*============================================================================*/
/*==Bu sorgudan cikan kayit sayisi veya kayit satiri sayisi
sonucta ayni sey==*/
/*============================================================================*/
$toplam_satiri_al = mysql_query($sql, $baglanti);
$toplam_satir = mysql_num_rows($toplam_satiri_al);
/*===========================================================*/
/*==sql sorgusunun sonuna limit ve oteleme degerlerini ekle==*/
/*===========================================================*/
$sql.=" Limit $oteleme,$KayitLimiti";
/*=======================================================================*/
/*==Sorgula ve sonuc dizisini limit,oteleme ile veritabanindan
al getir==*/
/*=======================================================================*/
$sorgula = mysql_query($sql, $baglanti);
while ($sorgu_sonucu = mysql_fetch_array($sorgula)){
/*=================================*/
/*==Dize Index'ini 1 arttir========*/
/*=================================*/
$dizeindex++;
/*============================================*/
/*====== SONUCLAR BURAYA GIRIYOR... ==========*/
/*============================================*/
//**Bir Ornek:
//$kategori=$sorgu_sonucu['KATEGORI'];
//$baslik=$sorgu_sonucu['BASLIK'];
//echo "$dizeindex. - $kategori - $baslik<br>";
//Demo olarak gosterdigimiz sayfada buradaki kod su sekilde
idi ornegin:
//http://www.turk-php.com/ornekler/mysql/onceki_sonraki.php
//**Bir Ornek:
//$Author=$sorgu_sonucu['Author'];
//$Content=$sorgu_sonucu['Content'];
//echo "$dizeindex. - $Author - $Content<br>";
}
/*=======================================================================*/
/*==Limit degerinden az kayit donerse veritabanindan, bir
sey gosterme===*/
/*=======================================================================*/
if ($toplam_satir <= $KayitLimiti) {
// Limitten az deger dondu.
} else {
/*=======================================================*/
/*==Eger o andaki oteleme sifira esit degilse============*/
/*==Linki goster. Degilse(if>0) yanlizca texti goster====*/
/*=======================================================*/
if ($oteleme!=0) { $onceki_oteleme = intval($oteleme-$KayitLimiti);
echo "<a style='font-family:$fontailesi; font-size:$fontboyutu;
color:$fontrengi; font-weight:$fontagirligi;"
." text-decoration:$textdekorasyonu;' onmouseover=\"window.status='$oncekiDurum';
return true\""
." onmouseout=\"window.status=''\" href=\"$PHP_SELF?oteleme=$onceki_oteleme&dizeindex=$onceki_oteleme\">"
."$oncekiLink</a> ";
}
else { echo "<span style='font-family:$fontailesi; font-size:$fontboyutu;
color:$aktifdegilse;"
." font-weight:$fontagirligi; text-decoration:$textdekorasyonu;'>$oncekiLink</span> ";
}
/*=============================================================================*/
/*==Tum satir sayisini kayit limiti sayisina bol ve boylece
sayfa adedini bul==*/
/*=============================================================================*/
$toplamSayfalar = intval($toplam_satir/$KayitLimiti);
/*========================================================================*/
/*==Bolum isleminden kalan olursa toplamSayfalar degiskenini
bir arttir ==*/
/*========================================================================*/
if ($toplam_satir%$KayitLimiti) $toplamSayfalar++;
/*=================================================================*/
/*==for() dongusu ile , 1 2 3 linklerini her sayfa icin goruntule==*/
/*=================================================================*/
for ($i=1;$i<=$toplamSayfalar;$i++) {
/*==================================================================*/
/*==Goruntulenen sayfanin linkini normal text olarak goster.=======*/
/*==================================================================*/
if ((intval($oteleme/$KayitLimiti)) == (intval($i-1))) {
echo " <span style='font-family:$fontailesi; font-size:$fontboyutu;
color:$aktifdegilse;"
." font-weight:$fontagirligi; text-decoration:$textdekorasyonu;'>$i</span> ";
} else {
/*=====================================================================*/
/*==Goruntulenen sayfa degilse, sonrakiOteleme'yi kur ve linki
goster==*/
/*======================================================================*/
$sonrakiOteleme= intval($KayitLimiti*($i-1));
echo " <a style='font-family:$fontailesi; font-size:$fontboyutu;
color:$fontrengi;"
." font-weight:$fontagirligi; text-decoration:$textdekorasyonu;'
onmouseover=\"window.status='";
sayfaDurum($i);
echo "'; return true\" onmouseout=\"window.status=''\""
." href=\"$PHP_SELF?oteleme=$sonrakiOteleme&dizeindex=$sonrakiOteleme\">$i</a> ";
}
}
/*==========================================================================*/
/*==Sayfa son sayfa degilse,$sonrakiOteleme'yi kur ve linki
goster==========*/
/*==============Son sayfa ise linkin aktifligini kaldir=====================*/
/*==========================================================================*/
if (!(intval(((intval($oteleme/$KayitLimiti))+1))==$toplamSayfalar)
&& $toplamSayfalar!=1) {
$sonrakiOteleme = intval($oteleme+$KayitLimiti);
echo " <a style='font-family:$fontailesi; font-size:$fontboyutu;
color:$fontrengi; font-weight:$fontagirligi;"
." text-decoration:$textdekorasyonu;' onmouseover=\"window.status='$sonrakiDurum';
return true\""
." onmouseout=\"window.status=''\" href=\"$PHP_SELF?oteleme=$sonrakiOteleme&dizeindex=$sonrakiOteleme\">$sonrakiLink</a><p>\n";
}
else echo " "
."<span style='font-family:$fontailesi; font-size:$fontboyutu;
color:$aktifdegilse;"
." font-weight:$fontagirligi; text-decoration:$textdekorasyonu;'>$sonrakiLink</span><p>";
}
mysql_close($baglanti);
//Bitti
?>
Serkan Hadi Ceylani
serkan@turk-php.com
|