Tarih: 2008-08-28, 18:04:12 Mesaj konusu: Telefon Rehberi
Öncelikle veritabanının sahibi olan ve üzerinde tüm değişiklikleri yapabilecek yetkiye sahip bir veritabanı kullanıcısı tanımlanmalıdır. Bunun için istemci program ile root olarak MySQL sunucusuna bağlanılıyor. Sonra sistem veritabanına baglantı kuruluyor:
Kod:
mysql> connect mysql
Veritabanının sahibi olacak kullanıcı yaratılıyor:
Kod:
mysql> insert into user
-> values('localhost','rehber',PASSWORD('<ifre>'),
->'N','N','N','N','N','N','N','N','N','N','N','N','N','N');
Kod:
mysql> insert into db
-> values('localhost','rehber','rehber','Y','Y','Y','Y','N','N','N','N','N','N');
Kod:
mysql> insert into user
-> values('localhost','anymous',PASSWORD(''),
-> 'N','N','N','N','N','N','N','N','N','N','N','N','N','N');
Burada da kullanıcıya verilen haklar sunucumuzun baktığı tüm veritabanlarına erişimi ilgilendirdiğinden güvenlik için hiçbir hak verilmedi. Sonra aynı veritabanında 'anonymous' kullanıcının sadece arama yapabileceği belirtiliyor:
Kod:
mysql> insert into db
-> values('localhost','rehber','anonymous',
-> 'Y','N','N','N','N','N','N','N','N','N');
MySQL sunucusu calışmaya başlarken erişim tablolarını hafızaya yükler ve erişim yapılacaşı zaman tablolardan okumak yerine cachine bakar. Dolayısıyla yaptığımız bu değişikliklerin etkin olabilmesi için cache'in yeniden yüklenmesi gerekir:
Bu komutu da ancak reload hakkı olan kullanıcı calıstırabilir.
Veritabanının sahibi rehber olduğu için 'rehber' kullanıcısı olarak veritabanı sunucusuna oturum açılarak aşağıdaki komutlar uygulandı:
Kod:
CREATE TABLE personel (
personel_ID SMALLINT NOT NULL AUTO_INCREMENT,
adsoyad VARCHAR(50) NOT NULL,
telefon VARCHAR(20),
odano VARCHAR(5),
email VARCHAR(50),
evtel VARCHAR(20),
ceptel VARCHAR(20),
bolum_ID SMALLINT,
KEY (personel_ID)
);
CREATE TABLE bolum (
bolum_ID SMALLINT NOT NULL AUTO_INCREMENT,
bolum VARCHAR(50) NOT NULL,
birim_ID TINYINT,
KEY (bolum_ID)
);
CREATE TABLE birim (
birim_ID TINYINT NOT NULL AUTO_INCREMENT,
birim VARCHAR(50) NOT NULL,
KEY (birim_ID)
);
Daha sonra MS-Excel tablosu olarak tutulan verini text'e çevrilerek veritabanına dahil edilmesi için 'mysqlimport' kullanıldı.
Kullanıcı sayfaya ilk bağlandığında 'search.php' sayfasından bir arama formu görüyor. Bu formun da örneğin header ve footer kısımlarında standart ve dinamik olması için php kullanılıyor. Yine combo box'da da opsiyonlar veritabanından alınarak dinamik olarak oluşturuluyor:
Kullanıcı formu submit edince 'srchres.php' çağrılır. Bu script içinde bir query cümlesi girilen alan değerlerine göre dinamik olarak oluşturulur:
Kod:
$QueryStr="select * from $Table";
$andStr="";
Alanlara girilen değerlerin geçerliliği kontrol edilir:
Burada görüldüğü gibi MySQL'de iç içe sorgu cümlecikleri oluşturulamadığı için birden çok sorgu göndermemiz gerekmekte. Sonuçlar kullanıcıya dinamik üretilmiş bir tablo olarak geri dönüyor:
Bu forumda yeni başlıklar açamazsınız Bu forumdaki başlıklara cevap veremezsiniz Bu forumdaki mesajlarınızı değiştiremezsiniz Bu forumdaki mesajlarınızı silemezsiniz Bu forumdaki anketlerde oy kullanamazsınız