Ben web geliştirme için oldukça yeni duyuyorum ve temelde her seçim diğer tüm listelerde seçimler sınırlamak nerede kullanıcı 5-15, tek bir sayfada listeler aşağı çekme gösterecek bir web uygulaması geliştirmek için bir görev var. Kullanıcı herhangi listelerden birinde (yani hiçbir set seçim sırası) ve kullanıcı her listede bir şey seçtiğiniz veya tüm parametreler aksi önceki seçenekler tarafından kilitlendiği kullanıcı GO butonuna basın ve bazı hesaplamalar ile başlamak gerekir Bir veritabanı seçki sunuyor, yer alacaktır. Temelde bir muliple parametre, ürün seçici uygulamasıdır.
Listeleri arasındaki ilişkiler basit değildir, ve vb hesaplanan alanları ihtiyaç olabilir, ve bir liste birkaç başkalarının içeriğini etkileyebilir. Veritabanı arkasında belki 30 alanlar ve 500-5000 satır ile, muhtemelen tek bir büyük tablo MySQL olacak. Değil güçlü bir nedeniniz yoksa ben PHP, JavaScript ve belki de AJAX kullanarak olacaktır.
Ben biraz araştırma yaptım ve bunu yapmak için üç yol bulduk:
Tarayıcıya tüm veri gönderme ve JavaScript ile filtreleme vb istemci tarafında ele.
Her seçimden sonra parametreleri sunucuya geri göndermek ve her seçimden sonra tüm formu yenkimliken. PHP Muhtemelen bir littebit Javascript ve en kodu.
Tüm formu yenkimliken olmadan dinamik olarak tüm liste içeriğini değiştirmek için AJAX kullanın.
Ben gitmek için bir sabit zaman söylüyorum bir yolu var, bu kadar yeni olduğum için, ne vb vardır tuzaklar ..
Bazı conserns var:
A. Yavaş başlangıç yükleme. # 1 için kötü?
B. dinamik tepki Yavaş. # 2 için kötü?
C. Karmaşık programlama. # 3 için kötü?
Farklı tarayıcılar ve plattforms D. uyumluluk sorunları. Biraz Framework kullanırsanız daha iyi ... sorun yaratmak için en muhtemel yöntem hangisi hiçbir fikrim yok?
E. ben bile en azından yarı-çalışan javascript ile insanlar için bir şey kapalı yapmaya çalışın misin? (Yeni bir sayfada her listesini seçerek ve GO düğmesine her zaman basın zorunda gibi)? Belki de 2. en iyi burada (Ben .... Ben bu kadar büyük bir konuda Javascript olması gerekir benim kullanıcıları söylersin?)
F., "özgür seçim düzeni" özellikleri başlangıçta veritabanı çoğu indirmek zorunda, bu yüzden belki de ben bunu devam edersem ben de yöntem 1. kullanabilirsiniz ..... bu seçeneği önlemek için çalışmalısınız demektir düşünüyorum veya p?
G. O # 1 için büyük bir eksi verir böylece, özel SQL kodunu kurarak gelecekteki uzantıları izin SQL selction / filtreleme mümkün olduğunca yapmak için iyi olurdu ...
H. Diğer tuzaklar vb??
Ben her üç yöntem için öğreticiler vb bulduk, ama böyle iyi kaynaklara işaret eğer ben özellikle yüzden iyi / uyumlu / akıllı olmayan örnekler üzerinde benim kod tabanı yok, bunu takdir ediyorum ....
1: http://www.bobbyvandersluis.com/articles/unobtrusivedynamicselect.php http://javascript.about.com/library/bl3drop.htm http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q%5F20523133.html
2: http://www.plus2net.com/php%5Ftutorial/php%5Fdrop%5Fdown%5Flist.php http://www.plus2net.com/php_tutorial/php_drop_down_list3.php
3: http://techinitiatives.blogspot.com/2007/01/dynamic-dropdown-list-using-ajax%5F29.html http://www.webmonkey.com/tutorial/Build_an_Ajax_Dropdown_Menu http://www.noboxmedia.com/massive-ajax-countryarea-drop-down-list/ http://freeajaxscripts.net/tutorials/Tutorials/ajax/view/Create_AJAX_Dynamic_Drop_Down_List_using_PHP_-_xajax.html
3+jQuery: http://remysharp.com/2007/01/20/auto-populating-select-boxes-using-jquery-ajax/
Şimdi soru: herkes tüm bu yöntemlerin deneyimli olabilir bu yüzden birini seçebilir ve doğru yolda başlamak yukarıdaki yollarla 1-3 değerlendirilmesi ile, biraz bana yardım? Ayrıca, ben bu jQuery + json gibi bir çerçeve unsing / öğrenme yardımcı olacak?
Rgds PM