Ceviz'de görmüştüm Hunter nickli arkadaş paylaşmıştı fakat baya kod karmaşası vardı ve bende oturup sıfırdan sayfalama class'ı yazdım en basit hale indirgedim.
Sayfala_class.php
<?php
class Sayfala{
public $db_host = 'localhost';
public $db_user = 'kullanıcı adı';
public $db_sifre = 'şifreniz';
public $db_name = 'db adınız';
public $sayfa_no;
public $kolon = array();
public $tablo;
public $sayfa_sayi;
public $sorgu;
public $get;
public function open(){
$baglanti = @mysql_connect($this->db_host,$this->db_user,$this->db_sifre);
if(!$baglanti){ die("Database Bağlantısı Sağlanamadı: " . mysql_errno()); }
$select = @mysql_select_db($this->db_name,$baglanti);
if(!$select){ die("Database Seçilemedi: " . mysql_errno()); }
@mysql_query("SET NAMES 'latin5'");
@mysql_query("SET CHARACTER SET latin5");
@mysql_query("SET COLLATION_CONNECTION = 'latin5_turkish_ci'");
@mysql_free_result($baglanti);
}
function gitsin(){
$ilk = ($this->sayfa_no - 1) * $this->sayfa_sayi;
$son = $this->sayfa_no * $this->sayfa_sayi;
$kolonlar = implode(',', $this->kolon);
$this->sorgu = "select ".$kolonlar." from ".$this->tablo ." order by ".$this->kolon[0]." asc LIMIT $ilk, $son";
$sql = @mysql_query($this->sorgu);
$s = 0;
while($veri = @mysql_fetch_assoc($sql)){
$veriler[$s] = $veri;
++$s;
}
$oran = @mysql_num_rows(@mysql_query("select * from ".$this->tablo));
$say = ceil($oran / $this->sayfa_sayi);
for($i=1;$i<=$say;$i++){
if($this->sayfa_no == $i){
$sayi .= "<b>[$i]</b>";
}else{
$sayi .= " <a href='$this->get=$i'>[$i]</a> ";
}
}
$veriler[count($veriler)+1] = $sayi;
return $veriler;
}
}
?>Test.php<?php
include("deneme_class.php");
$sayfala = new Sayfala();
$sayfala->open();
$sayfala->sayfa_no=intval($_GET['sayfa']); // sayfa numaramızı belirttik
if(empty($_GET['sayfa']) || !intval($_GET['sayfa'])){ $sayfala->sayfa_no=1; }
$sayfala->kolon[0] = "kolon1";
$sayfala->kolon[1] = "kolon2";
$sayfala->kolon[2] = "kolon3";
#...
$sayfala->tablo = "tabloadi";
$sayfala->sayfa_sayi = 100; //listelenecek veri adedi
$sayfala->get = "?sayfa"; //Get ile alınan değişken başka değişkenleriniz varsa onlarıda yazabilrsiniz örneğin ?test=0&ahmet=a&sayfa gibi ama en sona mutlşaka sayfa numarasını barındıracak değişken ismi gelmeli
$veriler = $sayfala->gitsin();
#print_r($veriler);
for($i=0;$i<count($veriler)-1;$i++){
for($j=0;$j<count($veriler[$i]);$j++){
echo $veriler[$i][$sayfala->kolon[$j]]."<br />"; //verileri listeler ikinci for tek satırı simgeler her girişinde bir satırdaki verileri getirir.
}
}
echo $veriler[count($veriler)]; // numaraları listeler
?>
onu da 1 deneyin