Etiket arşivi: örnek

PHP’de DEBUG işlemi : var_dump() yerine dbug kullanma

var_dump komutu NEDIR : Degiskenin veya degiskenlerin degerlerini gormek ve turunu ogrenmek icin kullanilir. Ozellikle Php de hata ayiklamada can kurtarici ozellige sahiptir 😉

internette dolanrken php icin bir debug kutuphanesi buldum.. Bu kutuphane var_dump() islevini yapiyor ve gorunumu daha profesyonel.

Bunu codeigniter a nasil adapte ederiz onu anlaticam…

Alıntı:

1 : http://dbug.ospinto.com/ adresinden dbug kutuphanesini indiriyoruz ve projemizin application/libraries altina kopyaliyoruz.

2 : ismini Dbug.php olarak degistiriyoruz.

3: Dbug.php dosyasini aciyoruz.

Alıntı:

function Dbug(){} seklinde bos bir constructor olusturuyoruz.


Alıntı:

function dBug($var,$forceType=””,$bCollapsed=false) fonksiyonunu da function

show($var,$forceType=””,$bCollapsed=false) olarak degistiriyoruz


ve kaydedip cikiyoruz.

4: autoload.php dosyamizin library bolumune dbug kutuphanesini ekliyoruz.

hersey bukadar…

Ornek :

PHP Kodu:

<?php echo $this->dbug->show($this->session->userdata); ?>


codeigniter fw de degilde normal php kodunda kullanmak icin ise

PHP Kodu:

include_once("dBug.php");


seklinde kutuphaneyi include edip degerleri gormek istediginiz yerde

PHP Kodu:

new dBug($myVariable);


demeniz yeterli…

kaynak http://forum.ceviz.net/php/93290-var_dump-yerine-dbug-kullanma.html

ÖRNEK MYSQL PROCEDURE

CREATE DEFINER=`root`@`localhost` PROCEDURE `YeniProsedur`(`Param` int(11))
BEGIN

DECLARE v1 INT DEFAULT 5;

DECLARE Rand_IL int(10);
DECLARE Rand_ILCE int(10);
DECLARE RandDateStart int(10);
DECLARE RandDateEnd int(10);
DECLARE RasTarih datetime;
DECLARE RasSayi int(10);

WHILE v1 > 0 DO

SET Rand_IL = (select id from iller order by rand() limit 1);
SET Rand_ILCE = (select id from ilceler where sehirid=Rand_IL order by rand() limit 1);

SET RandDateStart = UNIX_TIMESTAMP('2010-01-01');
SET RandDateEnd   = UNIX_TIMESTAMP('2010-09-01');

SET RasTarih = (SELECT FROM_UNIXTIME(RAND() * (RandDateEnd - RandDateStart) + RandDateStart));

SET RasSayi = rand()*(999999-10)+10;

/*INSERT INTO ##RasSayi##RasTarih##Rand_IL##Rand_ILCE##;*/

SET v1 = v1 - 1;
END WHILE;
END;

/*5 adet rasgale veri atıyor dbye,*/

Mysql Join Uygulaması

Veri tabanı işlemlerinde bir tablodan çalışabileceğimiz gibi birden çok tablolardan veriler çekmemiz ve bu verilere belli kriterler uygulamamız gerekebilir. Uygulamalarımızda her defasında bir veriyi çekip kontorol etmek ve buna istenen kriterleri uygulamak büyük kapsamlı projelerde karmaşıklığa ve kodların yavaş çalışmasına neden olabilir.

Örnek olarak kitap tablomuz ve seçilen kitapların yer aldığı galeri tablomuz olsun. Galeri tablomuzda kitabın id si ne göre işlemler yapacağız.
Kitap tablomuzda: id, isim ve kapak sütunları yer alsın.
Galeri tablomuzda ise, id, kitap_id sutunları yer alsın.

Şimdi seçilen yani galeri tablosunda yer alan verilere göre kitapları vitrin bölümümüzde gösteren kodları yazalım.

SELECT kitap.id as  kid, kitap.isim, kitap.kapak, galeri.id as gid, galeri.kitap_id FROM kitap, galeri WHERE kitap.id=galeri.kitap_id

Yukarıdaki kod satır ; “kitap.id as kid” ile kitap tablosundaki id  sutununu kid olarak aldık,”kitap.isim” ile kitap tablosundaki isim sutununu almış olduk,”kitap.kapak” ile kitap tablosundaki kapak sutunundaki veriyi almış olduk(Kitap kapağının adının tutulmuş olduğu alan). Sıra galeri tablosundaki verileri almaya geldi. “galeri.id as gid” ile galeri tablosundaki id yi gid olarak almış olduk, “galeri.kitap_id” ile galeri tablosundaki kitap idlerinin tutulduğu bölümü çekmiş olduk. Daha sonra “WHERE kitap.id=galeri.kitap_id” ile kitap id si galeri tablosunda kitap_id sutununda yer alan yani galerimize eklenmiş olan verileri(kitapları) getir demiş olduk.
“as” kodu ile değişken tanımlamış oluyoruz.

Bu örnegimizi biraz daha geliştirerek satış içi olan ve galeride yer alan kitapları getirmek isteseydik.Satış içi olarak kitap tablomuzda durum sutununun yer aldığını farz edelim; ve durum=1 ise satış içi durum=0 ise satış dışı olsun kitabımız.
SELECT kitap.id as  kid, kitap.isim, kitap.kapak, galeri.id as gid, galeri.kitap_id FROM kitap, galeri WHERE kitap.id=galeri.kitap_id and kitap.durum=1

Yukarıdaki kod satırının en sonunda yer alan “and kitap.durum=1″ kodu ile ve kitap tablosunda durum ‘u 1 olan yani satış içi olan demiş olduk.