Would you like to react to this message? Create an account in a few clicks or log in to continue.



 
AnasayfaLatest imagesAramaKayıt OlGiriş yap

 

 Veritabanı Kütüphanesi Oluşturmak

Aşağa gitmek 
YazarMesaj
LucKy
Administrator
Administrator
LucKy


Cinsiyet Cinsiyet : Erkek
Mesaj Sayısı Mesaj Sayısı : 291
Kayıt tarihi Kayıt tarihi : 20/05/10
Nerden Nerden : İstanbul/Fatih

Veritabanı Kütüphanesi Oluşturmak Empty
MesajKonu: Veritabanı Kütüphanesi Oluşturmak   Veritabanı Kütüphanesi Oluşturmak EmptyC.tesi Mayıs 22, 2010 11:53 am

Php sayfalarımızda uzun uzun mysql kodları yazmaktan yorulan arkadaşlara en hızlı ve güvenilir yöntem veritabanı nesnesi oluşturmaktır. Böylece daha hızlı ve güvenilir şekilde veritabanına bağlanıp aynı anda birden fazla işlemi yaptırabilirsiniz.

Şu anda kendi yazmış olduğum panel yazılımı ve yapmış olduğum web sitelerinde bu kütüphaneyi kullanmaktayım. Sözü daha fazla uzatmadan bu veritabanı kütüphanemizi yaratmaya başlayalım. Veritabanı Kütüphanesi Oluşturmak Icon_wink


Kod:
<?
 class veritabani{
  var $host;        /*  MySQL Host'u  */
  var $kullanici;        /*  MySQL Kullanıcı Adı  */
  var $sifre;        /*  MySQL Şifresi  */
  var $baglanti_no;      /*  MySQL Bağlantı Tanımlayıcı Numarası  */
  var $veritabani;      /*  Kullanılacak Veritabanı Adı  */
  var $sorgu;       
  var $sorgu_no;        /*  Aynı anda birden fazla sorguyu ayırabilmek için gerekli  */
 
  /*  KURUCU FONKSİYON  */
  function veritabani(){
      $this->host      =  "localhost";  /*  MySQL Host'u  */
      $this->kullanici    =      "root";      /*  MySQL Kullanıcı Adı  */
      $this->sifre      =      "sifre";      /*  MySQL Şifresi  */
      $this->veritabani    =    "veritabani";  /*  Veritabanı Adı  */
     
      $this->baglanti_no = 0;
      $this->sorgu_no = 0;
  }
 
  /*  HOST SEÇİLMESİ  */
  function secHost($v_host){
      $this->host = $v_host; 
  }
 
  /*  KULLANICI SEÇİLMESİ  */
  function secKullanici($k_adi,$k_sifre){
      $this->kullanici = $k_adi;
      $this->sifre = $k_sifre;
  }
 
  /*  VERİTABANI SEÇİLMESİ  */
  function secVeritabani($veritabani_adi){
      $this->veritabani = $veritabani_adi; 
  }
 
  /*  VERİTABANINA BAĞLANMASI  */
  function baglan(){
      if($this->veritabani == ''){ 
        $this->durdur('Lüften önce veritabanı seçiniz.');
      }

      $this->baglanti_no = @mysql_connect( $this->host, $this->kullanici, $this->sifre );
      if(!$this->baglanti_no){ 
        $this->durdur('Veritabani sunucusu ile bağlantı kurulamadı.'); 
      }
      if(!@mysql_select_db( $this->veritabani, $this->baglanti_no )){ 
        $this->durdur('Veritabanı seçilemedi'); 
      }
  }
 
  /*  VERİTABANI BAĞLANTISININ KESİLMESİ  */
  function kapat(){
      if($this->baglanti_no){ 
        mysql_close($this->baglanti_no); 
      }
  }
 
  /*  SORGULAMA YAPILMASI  */
  function sorgula($sorgu_cumlesi){
      /*  Daha önce bağlantı kurulmamış ise otomatik olarak bağlşantıyı kuralım.  */ 
      if(!$this->baglanti_no){ 
        $this->baglan(); 
      }

      $this->sorgu[++$this->sorgu_no] = @mysql_query($sorgu_cumlesi,$this->baglanti_no);
      if(!$this->sorgu[$this->sorgu_no]){ 
        $this->durdur('<br>'.$sorgu_cumlesi.'<br>'.mysql_error()); 
      }       
      return $this->sorgu_no;     
  }
 
  /*  SORGU SONUCUNDAKİ TOPLAM SIRA SAYISININ ALINMASI  */
  function toplam_sira($sorgu_no = -1){
      /*  Sorgu numarası verilmemişse sonuncusunu kullan.  */ 
      if($sorgu_no == -1){  $sorgu_no = $this->sorgu_no;  }
     
      if(  (!$this->baglanti_no) || (!$this->sorgu[$sorgu_no])  ){ 
        $this->durdur('Lütfen önce bir sorgulama yapınız.'); 
      }
      return mysql_num_rows($this->sorgu[$sorgu_no]);
  }
 
  /*  SORGU SONUÇLARININ DİZİ DEĞİŞKEN FORMUNDA SIRALAR HALİNDE ÇEKİLMESİ  */
  function sonuc_cek($sorgu_no = -1){
      /*  Sorgu numarası verilmemişse sonuncusunu kullan.  */ 
      if($sorgu_no == -1){  $sorgu_no = $this->sorgu_no;  }
     
      if(  (!$this->baglanti_no) || (!$this->sorgu[$sorgu_no])  ){ 
        $this->durdur('Lütfen önce bir sorgulama yapınız.'); 
      }
      return mysql_fetch_array($this->sorgu[$sorgu_no]); 
  }

  /*  SORGU SONUCUNDAKİ TEK BİR SONUÇ ALINMASI  */ 
  /*  Buradaki kolon tablonuzdaki hangi kolondaki veriyi almak istiyorsanız o kolon adını girmelisiniz.  */
  function alTek($sorgu_no = -1,$kolon)
  {
      if($sorgu_no == -1){  $sorgu_no = $this->sorgu_no;  }
     
      if(  (!$this->baglanti_no) || (!$this->sorgu[$sorgu_no])  ){ 
        $this->durdur('Lüfen önce bir sorgulama yapınız.'); 
      }
      return mysql_result($this->sorgu[$sorgu_no],0,$kolon); 
  }
 
  /*  INSERT İLE YAPILAN KAYIT NUMARASININ ALINMASI  */
  function kayit_no(){
      $this->affRows  = 0;
      if(  (!$this->baglanti_no) || (!$this->sorgu[$this->sorgu_no])  ){ 
        $this->durdur('Lütfen önce bir sorgulama yapınız.'); 
      }
      return mysql_insert_id(); 
  }
 
  /*  HATA MEYDANA GELİRSE İŞLEMİN DURDURULMASI  */
  function durdur($hata_mesaji){
      echo "<b>Veritabanı sunucumuz ile olan bağlantımızda bir problem "."meydana geldi.</b><br>"."<b>Hata Mesajı: </b><i>$hata_mesaji</i><br>";
      exit();
  }
 
 }
?>



Veritabanı nesnesi geliştirilmesi (veritabani.php)

Evet veritabanı kütüphanemizi oluşturmuş olduk. Böylelikle veritabanı işlemlerinizi çok kolay bir şekilde gerçekleştirebilirsiniz.

Şimdide bir sayfa içerisinde nasıl kullanacağımızı görelim. Böylelikle ne kadar kolay olduğunu göreceksiniz.


Kod:
<?

/*  ilk olarak tabiki yapmış olduğumuz veritabanı kütüphanesini yükleyelim.  */
require"veritabani.php"; 

/*  Veritabanımızın ismini kısaca 'vt' olarak tanımlayalım.  */
$vt = new veritabani;    /* Burada veritabanı sınıfının tüm özelliklerini 'vt' ye yüklüyoruz. */

/*  Burada ise hangi veritabanında işlem yapmak istiyorsak o veritabanını seçtirelim. Örneğin 'Kişiler' veritabanımız olsun.  */
$vt->secVeritabani('kisiler');

/*  Sıra geldi sorgulama işlemimize. İstediğimiz sorguyu yapalım  */
$vt->sorgula('SELECT * FROM kisiler');

/*  Bir sıra veri çekelim.  */
$sira = $vt->sonuc_cek();

/* Bakalım ilk sıradaki kişinin adı neymiş?  */
echo $sira['AD'];            /*  Şevki  */

/*  Eğer döngü yardımıyla verilerin tamamını yazdırmak isterseniz..  */
while ($sira = $vt->sonuc_cek()){
  echo $sira['AD']."<br>";
}

/*  Peki seçtiğimiz tablomuzda kayıt varmı yokmu onu nasıl yazdırırız. Şu şekilde  */
if ($this->vt->toplam_sira()==0){
  echo "Kayıt Bulunamamıştır.";
}else{
  echo "Toplam: ".$vt->toplam_sira()." Kayıt Bulunmuştur.";
}

/*  Tek bir kolondaki değeri almak için ise  */
$vt->sorgula("SELECT * FROM kisiler WHERE kisiID='".$kisiID."'"); 
echo "Kişinin Soyadı:".$this->vt->alTek('-1','SOYADI');

?>


Veritabanı nesnesinin kullanımı (ornek1.php)

Veritabanı nesnemizi kurduk ve nasıl çalışmasından kısaca bahsettim. bir sonraki dersimde daha gelişmiş olarak bu kütüphanemizi fonksiyonlar yardımı ile nasıl çalıştırabileceğimizi göreceğiz.

Hepinize kolay gelsin. Veritabanı Kütüphanesi Oluşturmak Icon_wink


sanalkurs.net
Sayfa başına dön Aşağa gitmek
https://tasarimvakti.forum.st
 
Veritabanı Kütüphanesi Oluşturmak
Sayfa başına dön 
1 sayfadaki 1 sayfası
 Similar topics
-
» ASP’de bir dizi oluşturmak
» Arşiv Kataloğu Oluşturmak

Bu forumun müsaadesi var:Bu forumdaki mesajlara cevap veremezsiniz
 :: GrafikCi - Web Dersleri :: PHP Dersleri-
Buraya geçin: