kodlarımı paylaştım daha nasıl yardım edeyim indir aç bak kurcala yap
kodlarımı paylaştım daha nasıl yardım edeyim indir aç bak kurcala yap
öncelikle yardım etmeye çalışan arkadaşlara tesekkurler. herkese yardımcı olabileceğini düşündüğüm , şu anda benımde ustunde çalıştığım 3 lü select menu uzerınde epeyce yol aldım kendımce
bu konuda benım gibi az bir bilgiyle birşeyler yapmaya çalışan herkes için ogrendiğim kadarıyla sunları soyleyebilirim:
Öncelikle 3 lu select menu yapmak için veritabanınızda birbirine bağlı 3 tablonuz olmalı.
- 1.tablo ana grup
Tablo örneği şöyle olabilir: (sadece örnek)
Şehir --> Mekan --> Etkinlik (şehirler, şehirlere bağlı mekanlar ve mekanlara bağlı etkinlikler)
1. tablo sehir tablosu. id ve sehir_isim alanları olur.
2. tablo mekan tablosu. id, sehir_id ve mekan_isim
3. tablo etkinlik tablosu. id, mekan_id ve etkinlik_isim
kod kısmında ise 1.tablodaki veriler ilk select menuye aktarılır. daha sonra javascript yada ajax yardımıyla ilk select menuye yuklenen veriye iliskin 2. tablo verileri çağırılır. işte bu aşamada işler bilgiye dayanıyor.
aşağıda vereceğim dosyalardaki kodları incelediğinizde net olarak gorulecektir. fakat anladığım kadarıyla bir iki şeye açıklık getireyım:
----
---Kod:var locid = sel.options[sel.selectedIndex].value; document.getElementById('altgrup').options.length = 0; // Empty city select box document.getElementById('tip').options.length = 0; // Empty city select box if(locid.length>0) { ajax.requestFile = 'gruplar.php?islem=anagrup&id='+locid; // Specifying which file to get
yukardaki kodlar index.php nizde yer alan javascript kodlarından bir bolum. b uradaki locid yazan yerler veritabanınızda birinci yani anagrup tablonuzla ilgili, birinci tablodaki verilere bağlı olan alanlardır.yanı yukarda ornekte verdiğim sehir_id.
ben şimdi kendi dosyamdaki verilerden devam edeceğim.
gruplar.php?islem=anagrup&id='+locid satırındaki id ise birinci tablonuzun id sidir.
bu bilgiler 2. ve 3. select menu verilerinin geleceği gruplar.php ye gonderilir. gruplar.phpde desatırı ile birinci select menu ye basılan verilerin id si alınır.Kod:$id = (!empty($_GET['id'])) ? intval($_GET['id']) : 0;
switch case ile bilgilerin gonderileceği yer seçilir. 2. select menuye gonderilecek veriler sorgu ile çekilir.
burada ikinci tablonuzdaki verileri çağırıyorsunuz. locid = '$id' ile de "ikinci tablomdaki locid si index.php den gelen id ye eşit olan" diyoruz.Kod:$query2 = mysql_query("SELECT * FROM jos_eventlist_events WHERE locid = '$id' ");
daha sonra 3. tablonuz varsa 2. tablo işlemleri gibi ona ait işlemleri yapıyorsunuz.
Umarım bu bilgiler ihtiyacı olan arkadaşlara ulaşır ve yanlışlarımı bilen arkadaşlar düzeltsinkullandığım dosyaları mesaja ekliyorum.
Gelelim benim sorunuma. benim tablolarımı şu an için değiştirmem pek mumkun değil. elimdeki 2 tablo ile 3 lü select menu yapmaya çalışıyorum.
yapmaya çalıştığım şey şu:
jos_eventlist_venues adlı tablo mekanları tutuyor ve aynı tabloda onun ust kategorisi olması gereken city alanı var. yani mekan ve şehir aynı tabloda.tablomdaki gerekli alanlar şunlar:
id venue(mekan) city(sehir)
birde jos_eventlist_events tablom var. burda da etkinlikler ve bu etkinliklerin yer aldığı mekanların id leri (locid) tutuluyor. tablomda gerekli alanlar şunlar.
id locid(mekanıın tutulduğu alan) title
ne yaptımsa olmadı. umarım anlatabilmişimdir. iki tablo ile 3 lu select menu yapmaya çalışıyorum. ilk select menu sehirler --> 2. select menu mekanlar --> 3. select menu etkinlikler.
jos_eventlist_cities gibi bir tablom olmadığı için yapamıyorum. ama bunun bir yolu olabilir mi diye bilgili ustatlara sormak istedim. yapılabilir mi, nasıl bir sorgu ve gerekiyorsa kod olmalı?
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks