Dropdown menus problem

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View
I have two drop down menus in my php script. The items displayed in the
second is dependent on which item is choosen from the first i.e. the choosen
item from the first filters the items in the second

first dropdown menu
sub no    sub
1            science >>>>>>>>> if this is selected
2            maths
3            something else

second dropdown menu
TopicNo     sub no    TopicDesc
1                   1         Science Topic1 >>>>>>>>>>>>>>>> displayed
2                   2         Maths topic 1
3                   3         Something else Topic1
4                   1         Science topic 2>>>>>>>>>>>>>>>> displayed
5                   2         Maths Topic 2
6                   3         Something else topic 2

all others not displayed

The problem is this only works once when I open the page (with the default
I would like to get the second dropdown box to update as soon as an Item is
selected from the first. I have searched the net but cannot find anything.
It seems that this is something that is not commonly done. The data for
populating the lists comes from a mysql database.

Does anyone know of a script to do this with php, or can direct me to a
suitable link?


Re: Dropdown menus problem

Ian Davies wrote:
Quoted text here. Click to load it
If I understand you correctly this is not a problem for php. You want  
javascript. PHP only works when you open the page because it is a server  
side language.

Re: Dropdown menus problem

Quoted text here. Click to load it

There are two things you need to do and actually two different ways.

1. Do them all on client side using Javascript. add event handler for the  
first select to handle onChange event.

2. Do it partly on client side and send it back to server on the event  
"onChange". and re-build the second select options with values based on what  
is sent back from options of the first select.


Re: Dropdown menus problem

Ian Davies wrote:
Quoted text here. Click to load it
It would be possible to do this with PHP by submitting the page back to  
itself and load the second menu depending on your $_POST value.
The downside is that you would be reloading the complete page each time  
the first drop down menu is selected. If you have a fast page it may not  
even be a problem.

Re: Dropdown menus problem

Take a look at PEAR's HTML/QuickForm
they have something that looks like this.

Site Timeline