Müdavim Girişi

E-Posta
Parola

Ücretsiz Kayıt Ol


Online Müdavimler (0 Kişi)
  • Online Kişi Bulunmadı

Yazar Hakkında
x
İsmail Kocacan
İsmail Kocacan is experienced on many development platforms and continues to learn technologies. Since the age of 16-17, dealing with software technologies. And continuous learning, teaching, research, continues to develop.
Php VeriTabanı Classı(Nesnesi)

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&#305;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


Kategori : Php | 16.07.2010 10:53:00  | 2312 defa okundu  | 2 Yorum |

Yazara Ait Diğer Makaleler(51) Makaleye Yapılan Yorumlar Yorum Yazıcam
İsmail Kocacan | 18.07.2010 17:21:00
Eyvallah NuhBaba :)

Nuh ÇOLAKKADIOĞLU | 18.07.2010 17:04:00
güzell olmuş eline saglık
Ara
 
Anket
Hangi VeriTabanı Yönetim Sistemini Kullanıyorsunuz ?