İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php ile sonuçlar nasıl sayfalanır ?

Alobar

0
İyinet Üyesi
Katılım
4 Mart 2005
Mesajlar
314
Reaction score
0
selam
php ile veritabanındaki bir tabloda aranılan bir degerle ilgili sonuçlar nasıl sayfa sayfa gösterilir. Bilgisi olan varsa ilgili php kodlarını verebilirmi acaba...
 
X

XhanDros

Misafir
Şö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(); 
?>
 

iyinet

Root
Admin
Hosting Firması
Katılım
2 Eylül 2002
Mesajlar
5,028
Reaction score
66
Konum
Sakarya
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(); 
?>

Temiz ve kaliteli kod, tebrikler.
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst