Bu örnekte Ajax ve PHP kullanarak bir liste kutusundan kategori seçip, yanındaki diğer kutunun içeriğini doldurmaya yarayan bir uygulamayı sizlerle paylaşmak istiyorum. Bir firmaya web sitesi hazırlarken benden böyle çalışan bir form yapmam istenmişti. Bende özellikle donanım sitelerinde gördüğüm bu uygulamayı nasıl yapacağım hakkında araştırma yapmaya başladım. Bulduğum örnekler oldukça yetersiz ve kısıtlıydı (hala da öyle). Aradığım sisteme en uygun örneği DHTMLGoodies adlı sitede buldum. Sitedeki örnek oldukça basit çaplı ve sadece 2 kutudan oluşuyordu. İlkten bu örneği inceleyip nasıl çalıştığını çözdükten sonra kendi projem için oldukça kapsamlı bir hale getirdim. Sadece listbox değil , combobox ve textbox da kullanmam gerekti. Sizler için hazırladığım örnekte ise 3 tane kutu kullandım ve mysql veritabanından verileri okuyan bir örnek uygulama yaptım.

Örnek Uygulamayı görmek için Tıklayınız / Click here for Demo

Uygulamanın nasıl çalıştığından da kısaca bahsetmek istiyorum.

<script type="text/javascript" src="ajax. js"></script>

Ajax dosyamızı belgemize dahil ettikten sonra, kutuların ne işlem yapacağını belirlemek için kendimiz fonksiyonlar hazırlıyoruz. Ben getAnaGrup adında bir fonksiyon kullandım. Bu fonksiyonda ürün grubu kutusundan seçtiğimiz karegorinin id numarasını alıp,

ajax. requestFile = 'gruplar. php?islem=anagrup&id='+anagrup_id;

gruplar. php dosyasına gönderiyoruz. Gruplar. php dosyasından da gelen id ve işlem türüne göre veritabanından sorgu yapıyoruz. İşlem "anagrup" olursa başka bir sorgu, "altgrup" olursa başka bir sorgu çalışıyor.

$query2 = mysql_query("SELECT * FROM altgrup WHERE anagrup_id = '$id' ");

while ($row2 = mysql_fetch_assoc($query2))

{

echo "obj. options[obj. options. length] = new Option('". $row2['isim']. " ', '". $row2['id']. "'); ";

}

Gelen sonuçları echo komutu kullarak üstte görüldüğü şekilde yazdırıyoruz. Tabi bu ekrana basmıyor. Kod arka tarafta bu işlemi yaptıktan sonra

ajax. onCompletion = createAnaGrup;

komutu ile gelen sonuçları diğer kutumuza yazdırmak için başka bir fonksiyona gönderiyoruz.

function createAnaGrup()

{

var obj = document. getElementById('altgrup');

eval(ajax. response); // Executing the response from Ajax as Javascript code

}

Bu fonksiyon da ismi "altgrup" olan kutumuzun içine, gruplar. php den gelen sonuçları yazdırıyor. Böylece ilk kutumuzu seçtiğimiz kategoriye göre ait verilerle doldurmuş olduk. Bir sonraki kutuyu doldurmak istersek; 2. kutumuzdan seçtiğimiz kategoriye göre ajax sorgusu göndermek ve bir de gelen sonuçları kutumuza doldurmak için 2 fonksiyona daha ihityacımız var. Örnek kodları incelediğinizde daha da iyi anlayacaksınız.

Bu sistemi yalnızca liste kutularının doldurmak için yapmak zorunda değilsiniz. ComboBox yada başka form elemanları da kullanabilirsiniz. Sizin tercihinize ve yaptığınız uygulamanın ihtiyaçlarına kalmış.

Örnek Dosyalar / Example Files

Herkese iyi çalışmalar...

Kategoriler:

Yapılan Yorumlar

Henüz kimse yorum yapmamış.

Bu sayfada yer alan bilgilerle ilgili sorularınızı sorabilir, eleştiri ve önerilerde bulunabilirsiniz. Yeni bilgiler ekleyerek sayfanın gelişmesine katkıda bulunabilirsiniz.

Yorum Yapın

Adınız:
E-Mail:
Mesajınız:
Doğrulama: Güvenlik Kodu
 
Hosts Dosyası Nedir?     Ekinoks Nedir?     Vista Transformation Pack 5.5     Avedesk 1.3 Bölüm 1     İntel'in Core 2 Duo E6400'ü %56'lık oc ile fiyat-performans kralı     Samsung'un 32 GB Flash Sürücüsü Görücüye Çıktı     İşte Karşınızda Yeni Honda Civic     M-Audio MobilePre USB - USB Beslemeli, Pre-amplifikatörlü USB Ses Kartı     Cubase 4 - Devrimci bir kilometre taşı Müzik prodüksiyon yazılımı.     M-Audio, Avid/Digidesign tarafından satın alındı - İki dev birleşti     Avedesk Bölüm2     Windows Vista Güncelleştirme Paketi     VW Touran CCS (BiZEL Motorlu Tek Araç)     StrokeIt 9.5     Arama Motorları Nasıl Çalışır?     Murat Günak kimdir?     AMD: Fusion ile CPU ve GPU'yu Birleştiriyor.     NanoTeknoloji Nedir?     Barkod Nedir?     VW Tiguan ( Küçük Touareg )     Cubase 4 - Kontrol Odası (Control Room)     C-Metisse (Citroen'in Yeni Bombası)     SSL Nedir? Nasıl Çalışır?     MouseIMP Pro     Avedesk Bölüm 3 - Ave Scripter Eklentileri     H-racer ve Hydrogen Station     Beklenen oyun: Trackmania UNITED çıktı!     Windows Vista Sidebar     Ürün İncelemesi: Toshiba USB 2.0 1GB Flash Bellek     AMD FireSTREAM Kartlara Logosunu Verdi     Pardus Linux 2007 Beta 2     Ekran Kartları Nasıl Çalışır?     Ürün İncelemesi: APC Back-UPS RS 1000VA Kesintisiz Güç kaynağı(KGK)     Saab Bio Power     Nintendo Wii Haber Kanalı Artık Yayında     Yüzyılın icadı: Erke Dönergeci     Samsung'tan Dünyanın En İnce Cep Telefonu     Hidrojen Kullanan Otomobil Sayısı Her Geçen Gün Artıyor!     Apple iPhone     Mobility Radeon X1900     Super Mario artık Nintendo Wii ‘de     TecrubeliPilotAraniyor.COM     Vista'nın da çıkmasıyla beraber 4 çekirdekli işlemciler artık standart hale geliyor     10.000 Pardus     Avedesk Eklentilerin Ayarlanması     Ford Mustang Giugiaro Konsept     Dünyanın İlk Boxer Turbo Dizel Motoru     Dizüstü Canavarı: Monster T2-Rex T72M575U1     Kuantum Bilgisayarlar Geliyor     ATI Catalyst 7.2 Sürücüleri Çıktı!     Microsoft Virtual PC 2007     Yüzyılın yarış oyunu: Test Drive Unlimited!     MSN alternatifi, kullanıcıların yeni gözdesi: Trillian     Video oyunları çocukları zayıflatıyor     Kuantum Bilgisayarlar     Yahoo Messenger Vista !     Vista üzerinde IIS 7.0 Kurulumu     Corel WordPerfect Lightning' in halka açık beta sürümünü yayımlıyor!     Toshiba'dan 51 GB HD DVD     Intel 11X Fabrikasını Yenliyor     F1'e geri sayım…     Casper, dört çekirdekli Intel CoreTM 2 Quad Q6600 işlemciye sahip yeni modelini pazara sundu.     Far Cry'ın devam oyunu, muhteşem grafikleriyle: Crysis     Değişen İklim Değil,Enerji Olsun!..     IBM Dünya'nın En Güçlü Bilgisayarını Geliştriyor     Küresel Isınmanın Nedenleri? Sebepleri?     Yod'm 3D     Elbit Systems VIPeR "avcı-katil" robotu çıkarıyor     Hard Disk Pazarının Kralı: Seagate     Vista Aero Reloaded     Oyunlar yeni bir boyut kazandı: TrackIR!     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm1     Türk insanına has Google Logoları…     Yahoo'dan Sınırsız Email Kapasitesi     Hava Kirliliğini Arttıran Sıcaklık İnversiyonu- Bölüm2     AeroClear Glass for Vista Theme     Adobe'den Ücretsiz PDF Oluşturma Hizmeti     NuSphere PhpED IDE     Ati HD2900XT, Nvidia 8800GTX'a Karşı: Crysis Demo ve 3DMark06 Testleri     Google Spreadsheets     Vista'da Farklı Temalar Kullanmak     İTÜRO     Nükleer Santraller: Nasıl Çalışır? Problemleri Nelerdir?     Mucitlerimiz Gün Işığına Çıkıyor     768MB 8800GTX, 512MB ATI HD 2900XT, 640MB 8800GTS Oyun ve 3DMark06 Testleri     Vestel, Tamamen Türk Yapımı Yakıt Pili Üretti     Free Loader güneş pili     Hovercraft: Sınır Tanımayan Araç     İTÜ Robot Olimiyatları     Boğaziçi Üniv. Robot Günleri     Beynimiz Nasıl Öğreniyor?     Adobe CS3 ile Mac'te, Daha Fazla Şey Yapın     Kuzey Işıkları'nın Dansı     Yenilenebilir Enerji Kaynakları Nelerdir?     Güneş Enerjisi Nedir?     Motorlarda Piston Tipleri ve Kullanılan Malzemeler     Motorlarda Yanma Odaları ve Özellikleri     Colin McRae: DIRT     Crysis'in sahne tasarımlarına bir göz atalım     Geleceğin Yakıtı, Hidrojen Nedir?    
Coğrafya
Coğrafya Sitesi
Tarih Sitesi
Türkçe Sitesi
Bilgi Sitesi
Bilgiler