![]() |
![]() |
<?
ob_start();
/*www.xhandros.net*/
// Veritabanı bilgileri
$dbhost = "localhost"; // veritabanı sunucusu
$dbuser = "admin"; // veritabanı kullanıcısı
$dbpass= "admin"; // veritabanı şifresi
$dbname = "zd"; // veritabanı adı
// veritabanı bağlantısı
@mysql_connect($dbhost,$dbuser,$dbpass) or die ("Veritabani baglantisi yapilamadi.");
@mysql_select_db($dbname) or die ("Veritabani secilemedi!"); // veritabanı seçimi
// Değişkenleri tanımlayalım
$page = $_SERVER['PHP_SELF'];
$limit = "3"; // Kaç kayıtta bir sayfalama yapılacak ?
/* URL üzerinden gelen $_GET[] dizisi içinde değişken olup olmadığına bak eğer yoksa 1'e eşitle */
if(empty($_GET['paged'])) { $paged ="1"; }
/* Değişkenin numerik(rakamsal) bir değer olup olmadığına bak değilse düzeltip sayfaya bir daha yolla */
if(!is_numeric($_GET['paged'])) { header("location:$page?paged=1"); }
// Sayfalama ile ilgili değişkenler
$girdi = mysql_query("select zd_id from zd");
$sayi = mysql_num_rows($girdi); // toplam mySQL kayıt sayısı
$kac_tane = $sayi / $limit; // Kaç sayfa olacak
/* burası önemli , sayfalama linklerini basarken toplam kayıtı $limti değişkeninin içeriğine bölüyoruz eğer tam bölünmüyorsa sayfa sayısını bir arttırıyoruz.Böylece her kayıt listeleniyor.*/
if($kac_tane%$limit!="0") { $kac_tane++; }
// Kayıtları yazdıralım ( son kayıttan itibaren )
$son = ($paged-1)*$limit;
$veri = mysql_query("select * from zd order by zd_id limit $son,$limit");
while($cikart = mysql_fetch_array($veri)) {
$id = $cikart['zd_id'];
$isim = $cikart['zd_isim'];
$mesaj = $cikart['zd_mesaj'];
echo("$id $isim $mesaj");
}
// Sayfalama linklerini ekrana yazdıralım
for($i=1; $i < $kac_tane; $i++) { echo("<a href=$page?paged=$i>[$i]</a>"); }
/*
Örnek MySQL yapısı
CREATE TABLE zd ( zd_id smallint(6) NOT lisanssız auto_increment, zd_isim varchar(50) NOT lisanssız default ‘’, zd_mesaj text NOT lisanssız, PRIMARY KEY (zd_id), KEY zd_id (zd_id) ) TYPE=MyISAM;
*/
ob_end_flush();
?>
XhanDros' Alıntı:Şöyle bir script yazmıştım eskiden.Google aramaları ile daha fazlasına ulaşabilirsin.
PHP:<? ob_start(); /*www.xhandros.net*/ // Veritabanı bilgileri $dbhost = "localhost"; // veritabanı sunucusu $dbuser = "admin"; // veritabanı kullanıcısı $dbpass= "admin"; // veritabanı şifresi $dbname = "zd"; // veritabanı adı // veritabanı bağlantısı @mysql_connect($dbhost,$dbuser,$dbpass) or die ("Veritabani baglantisi yapilamadi."); @mysql_select_db($dbname) or die ("Veritabani secilemedi!"); // veritabanı seçimi // Değişkenleri tanımlayalım $page = $_SERVER['PHP_SELF']; $limit = "3"; // Kaç kayıtta bir sayfalama yapılacak ? /* URL üzerinden gelen $_GET[] dizisi içinde değişken olup olmadığına bak eğer yoksa 1'e eşitle */ if(empty($_GET['paged'])) { $paged ="1"; } /* Değişkenin numerik(rakamsal) bir değer olup olmadığına bak değilse düzeltip sayfaya bir daha yolla */ if(!is_numeric($_GET['paged'])) { header("location:$page?paged=1"); } // Sayfalama ile ilgili değişkenler $girdi = mysql_query("select zd_id from zd"); $sayi = mysql_num_rows($girdi); // toplam mySQL kayıt sayısı $kac_tane = $sayi / $limit; // Kaç sayfa olacak /* burası önemli , sayfalama linklerini basarken toplam kayıtı $limti değişkeninin içeriğine bölüyoruz eğer tam bölünmüyorsa sayfa sayısını bir arttırıyoruz.Böylece her kayıt listeleniyor.*/ if($kac_tane%$limit!="0") { $kac_tane++; } // Kayıtları yazdıralım ( son kayıttan itibaren ) $son = ($paged-1)*$limit; $veri = mysql_query("select * from zd order by zd_id limit $son,$limit"); while($cikart = mysql_fetch_array($veri)) { $id = $cikart['zd_id']; $isim = $cikart['zd_isim']; $mesaj = $cikart['zd_mesaj']; echo("$id $isim $mesaj"); } // Sayfalama linklerini ekrana yazdıralım for($i=1; $i < $kac_tane; $i++) { echo("<a href=$page?paged=$i>[$i]</a>"); } /* Örnek MySQL yapısı CREATE TABLE zd ( zd_id smallint(6) NOT lisanssız auto_increment, zd_isim varchar(50) NOT lisanssız default ‘’, zd_mesaj text NOT lisanssız, PRIMARY KEY (zd_id), KEY zd_id (zd_id) ) TYPE=MyISAM; */ ob_end_flush(); ?>