Merhaba arkadaslar bu makalede sizlere daha önce gelistirmis oldugum bir php classinin kodlarini vericem.Her ne kadar php sevmesemde.ugrasan arkadaslarin isine yarayabilir düsüncesi ile paylasiyorum.
Amacimiz sürekli yapilan seyleri standart hale getirmek.tek yapmaniz gereken asagidaki kodlari data.layer.php isminde kaydedip veya baska bir isimde verebilirsiniz.Daha sonra include ederek içersindeki methodlari kullanmak.
<?php
class DB
{
/*Nesne Özellikleri*/
public$veritabani ="";
public$sunucu ='';
public$kullaniciadi='';
public$sifre ='';
public$baglanti;
public$sorgu;
function __construct(){
$this->Connect();
}
function __destruct(){
$this->DisConnect();
}
publicfunction Connect(){
$this->baglanti= mysql_connect($this->sunucu,$this->kullaniciadi,$this->sifre);
$this->SelectDatabase();
}
publicfunction SelectDatabase(){
mysql_select_db($this->veritabani);
}
publicfunction DisConnect(){
return mysql_close($this->baglanti);
}
publicfunction GetDataset($SQL){
$this->sorgu=$SQL;
return mysql_query($this->sorgu,$this->baglanti);
}
publicfunction ExecSQL($SQL){
$result;
try{
$this->sorgu=$SQL;
mysql_query($this->sorgu,$this->baglanti);
$result=true;
}
catch(Exception $e){$result=false;}
return$result;
}
}
/*=================================================*/
/*inheritens : Paging -> DB*/
class Paging extends DB
{
/*Object Variables*/
private$ToplamKayitSayisi;
private$ToplamSayfaSayisi;
private$BaslangicKaydi;
public $SayfalikKayitSayisi;
function __construct(){
$this->SayfalikKayitSayisi=25;
}
function __destruct(){
}
/*Kayit Sayisindan Sayfa Sayisinin Hesaplanmasi*/
publicfunction GetTotalPageCount($ToplamKayitCount){
$this->ToplamKayitSayisi=$ToplamKayitCount;
if(($this->ToplamKayitSayisi%$this->SayfalikKayitSayisi)==0)
$this->ToplamSayfaSayisi=($this->ToplamKayitSayisi/$this->SayfalikKayitSayisi);
else
$this->ToplamSayfaSayisi=ceil($this->ToplamKayitSayisi/$this->SayfalikKayitSayisi)+1;
return$this->ToplamSayfaSayisi;
}
publicfunction CreatePageNumbers($PageName,$QueryStrig){
for($PageNumber=1;$PageNumber<=$this->GetTotalPageCount($this->ToplamKayitSayisi);$PageNumber++)
{
$TempResult=$TempResult."<a href='?content=$PageName&page=$PageNumber'".$QueryStrig.">".$PageNumber." "."</a> ";
}
return$TempResult;
}
}
/*===============================================*/
?>
<?php
/*Peki bu nesnesyi nasıl kullanabiliriz derseniz asagida örnekler mevcut*/
include("data.layer.php");
// // yeni bir nesne olusturuldugunda yapilandirici method çalisir baglanti gerçeklesir
$referans_db_nesnesi=new DB();
$referans_db_nesnesi->ExecSQL("insert into tbl(alan1) values (deger1)");
$referans_db_nesnesi->ExecSQL("delete tbl set alan1='deger1' Where kimlikNo=X");
$referans_db_nesnesi->ExecSQL("delete from tbl where kimlikNo=X");
$referans_db_nesnesi->GetDataset("select * from tbl");
// Daha sonra nesne referans nesne yok ediliyor
unset($referans_db_nesnesi);
// Listeleme Örnegi
$dbref=new DB
();
$dsx=$dbref->GetDataset("select * from icerikler");
while ($rowx=mysql_fetch_array($dsx))
{
echo($rowx['baslik']."<br>");
}
?>
<?php
// asagidaki sayfali listelemeye örnek
if (!isset($_GET['page'])) { $sayfa_No="1";} else {$sayfa_No =$_GET['page']; }
$dbref=new DB
();
$refpaging=new Paging
();
// sayfada 20 kayit listelensin
$refpaging->SayfalikKayitSayisi=20;
$baslangic = ($sayfa_No*$refpaging->SayfalikKayitSayisi)-$refpaging->SayfalikKayitSayisi; //limit baslangici
$icerikler=$dbref->GetDataset("select * from icerikler");
$ToplamSayfaAdeti=$refpaging->GetTotalPageCount(mysql_num_rows($icerikler));
unset($dbref); //nesnesi yok et
$dbref_getx=new DB
();
$dsicerikler=$dbref_getx->GetDataset("Select * from icerikler limit $baslangic,".$refpaging->SayfalikKayitSayisi);
while ($rowItem=mysql_fetch_array($dsicerikler)) {
echo($rowItem['icerikNo']." ".$rowItem['baslik']." ".$rowItem['Tarih']);
}
?>
<?php
echo("Toplam Sayfa (".$ToplamSayfaAdeti.") : ".$refpaging->CreatePageNumbers("icerikler","&aranan=x"));
?>
Bir Dahaki php makalesinde görüsmemek üzere iyi çalismalar