NZ-Query.php
<?php
/* |NZ_DBQuery | @mail = nizzo@windowslive.com| */
class NZ_DBQuery
{
# Veritabanı Bağlantı Değişkeni
var $connect = null;
# SQL Sorgu Cümleciği Değişkeni
var $sql = null;
# Sorgu Çalıştırma Değişkeni
var $query = null;
# Sorgu Sonucunu Tutan Durum Değişkeni
var $case = null;
# Sorgu Sonucu Elde Edilen Satır Sayısını Tutan Değişken
var $count = null;
# Sorguyu Tutan Değişken
var $row = null;
# Sorgu Sonucunu Tutan Değişken
var $result = null;
# Çoklu Sorguda Alınan Verileri Tutan Dizi
var $results = array();
###########################################################################
/*
|Veritabanında sorgu çalıştırmak|
*/
public function Query()
{
/* Sorguyu çalıştırıyoruz */
$this->query = mysql_query($this->sql, $this->connect) or die (mysql_error());
/**************************/
/* Sonuç olumlumu kontrol ediyoruz */
if($this->query):
/* Sorguyu farklı fonksiyonlarda kullanmak için alıyoruz */
$this->row = $this->query;
/*********************************************************/
/* Sorgu başarılı olduğu için case'i true yapıyoruz */
return $this->case = true;
/****************************************************/
else:
/* Sorgu başarısızsa case'i false yapıyoruz */
return $this->case = false;
/********************************************/
endif;
/***********************************/
}
/*
|Query() - sonu|
*/
#############################################################################
/*
|Veritabanından kayıt sayısı almak|
*/
public function Count()
{
/* Sorgumuzu çalıştırıyoruz */
$this->Query();
/****************************/
/* Kayıtları diziye aktaryoruz */
$this->count = mysql_fetch_array($this->row);
/*******************************/
/* Dizinin ile elemanını alıyoruz */
$this->count = $this->count[0];
/**********************************/
/* Sonuç varsa dönen sorgu sonucunu aksi halde false geri gönderiyoruz */
if($this->count > 0) return $this->count; else return false;
/***********************************************************************/
}
/*
|Count() - sonu|
*/
############################################################################
/*
|Veritabanından tek satır çekmek|
*/
public function Row()
{
/* İstediğimiz kayıt varmı cevap bekliyoruz */
if($this->Query() !== false):
/* Dönen kayıtı alip return ile geri gönderiyoruz */
return $this->result = mysql_fetch_assoc($this->row);
/**************************************************/
/* İstediğimiz kayıt bulunamamışsa dönüş değerini false yapıyoruz */
else: return false; endif;
/******************************************************************/
}
/*
|Row() - sonu|
*/
#############################################################################
/*
|Veritabanından birden fazla sonuç çekmek|
*/
public function Results() //Kullanım : $db->Results();
{
/* Sorgu'dan dönüş cevabını alıyoruz */
if($this->Count() !== false):
/* Kayıt bir ve üstü ise verileri almak için çalıştıryoruz */
$this->Query();
/***********************************************************/
/* Kayıt alanlarını sırasıyla diziye aktarıyoruz */
while($this->result = mysql_fetch_array($this->row)):
/* İşlenen kayıtı dizimize ekliyoruz */
$this->results[] = $this->result;
/*************************************/
endwhile;
/**************************************************/
/* Dizimizin son halini geri gönderiyoruz */
return $this->results;
/******************************************/
/* Kayıt bulunamamışsa fonksiyondan false değer gönderiyoruz */
else: return false; endif;
/*************************************************************/
}
/*
|Results() - sonu|
*/
}
?>Kullanılışı
<?php
require "NZ-Query.php";
$db = new NZ_DBQuery();
$db->connect = $veritabaniBaglantiDegiskeni;
$db->sql = "Select * From kategoriler";
/* Sorgu Çalıştırma
if( $db->Query() !== false ) echo "Sorgu sorunsuz çalıştı"; else echo "Sorgu çalışırken hata oluştu";
*/
/* Kayıt sayısı alma
if( $db->Count() !== false ) echo $db->count; else echo "Kayıt bulunamadı";
*/
/* Tek kayıt çekme
if($db->Row() !== false) echo $db->result['categoryName']; else echo "Kayıt bulunamadı";
*/
/* Çoklu kayıt çekme
if( $db->Results() !== false ):
foreach ($db->results as $db->result):
echo $db->result['Name'] . '<br />';
endforeach;
else: echo "Kayıt Bulunamadı"; endif;
*/
*?>Veritabanı bağlantı methodlarınıda istiyen eklesin ben farklı sayfalarda tuttuğum için gerek görmiyorum.