[PHP / SQL] Select box vullen advh een select box

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een database met hierin categorien en subcategorien.

Nu wil ik 2 select boxen vullen met deze gegevens

De 1e bevat de categorien en de 2e bavat de subcategorien die bij de geselecteerde categorie horen.

Wat is nu de beste manier om de 2e selectbox te vullen aan de hand van de gekozen waarde uit de 1e select box?

Ik heb al gezocht naar javascript onchange.. maar ik heb niet echt duidelijk kunnen vinden wat ik wil.

De 2e selectbox moet dus gevuld worden door deze query:

$sql = " SELECT unid,naam";
$sql .= " FROM classificatie";
$sql .= " WHERE parentid='$form_incident_domein'";
$sql .= " AND status='1'";
$sql .= " ORDER BY naam";

Zodra er dus een waarde ingegeven word in de 1e select box wil ik dat de var $form_incident_domein' veranderd van waarde en deze query opnieuw uitvoerd..

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 10-09 08:45

Bosmonster

*zucht*

Je kunt 3 methodes hanteren:

1. Alles binnentrekken en de selectboxes volledig met javascript dynamisch maken. Dit is de beste oplossing bij niet al te veel opties en boxen die snel moeten reageren.

2. De tweede selectbox dynamisch vullen middels AJAX. Deze optie is interessant als het grote hoeveelheden opties betreft, of als de opties continu wijzigen (bijvoorbeeld als je er zelf onderdelen aan toe kan voegen).

3. De tweede selectbox vullen met een backend taal (bv PHP) na een page refresh. Das een beetje de old-fashioned methode zeg maar, maar kan nog steeds een goede oplossing zijn in sommige applicaties.

Een goed voorbeeld van optie 1 vind je overigens hier: http://www.focus-op-vnsg.nl

[ Voor 35% gewijzigd door Bosmonster op 17-04-2008 13:28 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Er zijn enkele opties waarvan ik er de 3, volgens mij, meest gebruikelijke zal geven.
  • Op het moment dat van selectie box 1 er iets verandert, de pagina refreshen en de geselecteerde waarde te gebruiken als constraint voor het vullen van box 2
  • Vooraf alle mogelijkheden in een javascript array laden en aan de hand daarvan clientside box 2 te filteren aan de hand van de keuze in box 1 via javascript.
  • Op het moment dat box 1 verandert een ajax call te doen die de waarde van box 1 neemt en als contraint gebruikt, die waardes respond naar een javascript die vervolgens box 2 vult.
Welke methode je gebruikt is afhankelijk van voorkeur. Alle 3 werken prima en hebben legio googlebare voorbeelden.

Te laat. Bosmonster was me net voor en geeft precies dezelfde opties ;)

[ Voor 5% gewijzigd door Verwijderd op 17-04-2008 13:31 ]


Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
Welkom bij de afhaalchinees. Sambal bij?

Google is your friend:
http://www.boredguru.com/...php?topic_id=237&forum=51

http://www.google.nl/sear...t+boxes&btnG=Zoeken&meta=

Hoe zou je het conceptueel aan willen pakken? Wil je het client-side of server-side oplossen? De eerste kun je doen door je data in javascript aan je pagina toe te voegen. Dit kan mits er niet al te veel data aan elkaar geknoopt hoeft te worden, anders wordt je pagina wel erg groot.
De tweede is een kwestie van een submit uit te voeren (ook met javascript) op de onchange van de eerste select box. Door een controle variabele in je formulier op te nemen (bijvoorbeeld de variabele "submit_reason"), zodat je serverside script weet wat ie moet doen.

edit:
Met hierboven dus :)

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Optie 1 lijkt me wel de beste oplossing, echter is mijn javascriupt kennis minimaal.
Daar ga ik dan nog maar even op googlen, tnx voor de info.

Als iemand hier nog een goeie tutorial voor heeft houd ik me aanbevolen :)

Acties:
  • 0 Henk 'm!

  • bigbeng
  • Registratie: Augustus 2000
  • Laatst online: 26-11-2021
http://www.w3schools.com/js/default.asp (mijn persoonlijke favoriet, gebruik het vooral als naslagwerk).

Voor specifieke scripts kun je natuurlijk altijd terecht bij:
http://www.hotscripts.com/JavaScript/index.html

En heb jij even mazzel:
http://www.hotscripts.com/Detailed/45585.html

edit:
sambal erbij :)

[ Voor 19% gewijzigd door bigbeng op 17-04-2008 13:39 ]

Pagina: 1