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