mysql sorgu için bir dinamik form kodlama hakkında ipuçları

2 Cevap php

Ben bir acemi olduğumu ve sadece sürekli bu yüzden ben değil düpedüz örnek çalışma daha doğru yönde ipuçları, arıyorum bu soruya ilişkin, benim için yazmak için başkalarını sormadan mümkün olduğunca kendi kod kadar üretmek için çalışıyor . İnsanların hepsi çok yetenekli, ama ben kendimi dışarı nedenle eğer ben iyi öğrenirler. Ben bir tuğla duvara vurmak gerekir, ben özelliklerini sormak emin olacağım. :-)

Ben onay kutusu seçenekleri oldukça çok değil, çoğu kullanıcı bir arama için bir anda ilgi olacağını hangi hepsi var MySQL sorgu için bir form oluşturmak istiyorum. Aksine mevcut büyük bir form daha, ben (eğer mümkünse), yeni bir sayfaya gitmeden, seçim için mevcuttur kaç sonraki seçenek kontrol etmek için ilk birkaç seçenek istiyorum.

Varsayımsal bir örnek: Her aktörün Milliyet dahildir, ve aktörlerin bir ürün yelpazesine seçerek formu sorgu birlikte görünen tüm filmleri dönecektir neyin film aktörlerin bir veritabanı.

ACTOR NATIONALITY
[] Any
[] German
[] Russian
[] British
[] American
[] Japanese
[] Chinese

ilk başta başka bir bilgi görüntülenir. Kullanıcı kontrolü [] Any ardından tam form ortaya olmalıdır:

German   Russian   British   American   Japanese    Chinese
[]GER1    []RUS1    []BRIT1   []AMER1    []JPN1      []CHN1
[]GER2    []RUS2    []BRIT2   []AMER2    []JPN2      []CHN2
[]GER3    []RUS3    []BRIT3   []AMER3    []JPN3      []CHN3
 etc.

ancak kullanıcı sadece, diyelim ki ilgilenen Alman ve eğer Japon aktörler, o iki kutularını denetlemek ve şu sonra aşağıda görünür:

German   Japanese 
[]GER1    []JPN1
[]GER2    []JPN2
[]GER3    []JPN3

Ben mantıklı mı yapıyorum?

Bu noktada benim kodlama bilgisi PHP / MySQL ile sınırlı, bu yüzden sadece PHP birleştiren bir çözüm ideal olacaktır, ama javascript gerekirse doğru yönde bana gelin ve ben gerekli bilgi eklemek için çalışacağız lütfen!

Teşekkür ederiz!

EDIT - evet, tüm onay kutusunu bilgileri bir veritabanından çekilen ediliyor

2 Cevap

Ben sabeen ile anlaştılar; javascript gitmek için bir yoldur, ama yerine başka bir form öğeleri gizleme daha ajax yöntemleri kullanmak istiyorum ...

Sen ilk onay kutusunu gruba oluyor olayları "dinlemek" için js kullanabilirsiniz (yani onclick, onmouseover, ne olursa olsun) ve bir değişiklik yapıldığında, küçük bir php komut dosyası için form verilerini göndermek için ajax yöntemleri kullanabilirsiniz. Bu komut dosyası daha sonra hangi alt menüler inşa rakamlar ve arama php script ilgili html parçasını döndürür. Js bu yanıtı alır ve bütün bütün bir sayfayı yeniden için gerek kalmadan, sayfa yeni bir onay kutusu grubu eklemek için DOM yönetir.

Eğer js / ajax dünyasına yeni iseniz o zaman ben iyice tavsiye ederim jQuery. (Kafamın üst kapalı) js çerçevenin Diğer aroma maddeleri Prototype, MooTools, Dojo.

Ben size değil somut örneklere göre, doğru yönde bir itme istedim dedin, o wan't çok belirsiz umut! :)

EDIT. I should mention that I've assumed the data that's driving these checkboxes is coming from a db. If not, then Sabeen's method is simpler to implement and incurs a much smaller execution overhead.

Ben javascript ile gitmek sanırım.

Herhalde TDS veya DIV'leri olarak alt seçimleri koymak ve onları style = ile gizli olurdu "display: none" ve onay kutusu işaretli ise checkboxs onclick olay, ben de yapabilirsiniz .. görünür hale belirli TD kuracak Gizli TDS veya DIV'leri de onay kutularını işaretlenmemiş olduğundan emin olmak için biraz daha fazla javascript kodu koymak. ve aynı zamanda PHP ucunda yine bazı doğrulama yapmak. HERHANGİ işaretli ise, ur fonksiyon tüm TDS veya DIV'leri görüntüler var.

Daha fazla bilgi:

Bu ne görmek minimal javascript gerektirir. o aslında görmek istediği sürece sadece, her şeyi çekin ve sayfada yankı ve sadece görmek için kullanıcı DIV gizlemek gibi ve PHP, hem de ileriye oldukça düz olmalıdır. AJAX ile gitmek sürece PHP kullanarak bir overkill olabilir, hangi Sayfa yükleri artacaktır.

Yani ağırlıklı olarak javascript gelen stil özniteliği ekran özelliği ile ilgili olacak, basit olmalıdır.