For Programmers: Free Programming Magazines  


Home > Archive > PHP SQL > November 2005 > Dropdown menus problem









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author Dropdown menus problem
Ian Davies

2005-11-11, 6:58 pm

Hello
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
values).
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?

Thanks
Ian


meltedown

2005-11-11, 6:58 pm

Ian Davies wrote:
> Hello
> 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
> values).
> 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?
>
> Thanks
> Ian
>
>

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.
shawn

2005-11-13, 3:56 am


"Ian Davies" <iandan.dav@virgin.net> wrote in message
news:0X9df.16209$Ua6.7984@newsfe6-win.ntli.net...
> Hello
> 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
> values).
> 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?
>
> Thanks
> Ian
>
>


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.

Shwn


sCOTT

2005-11-13, 9:56 pm

Ian Davies wrote:
> Hello
> 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
> values).
> 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?
>
> Thanks
> Ian
>
>

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.
Meião

2005-11-14, 9:56 pm

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

Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com