0

I have two Drop Down Lists, the second ones are based off which one the users selects in the first drop down. I was going to use Javascript to dynamically change the second drop down. But now here comes the problem. This information is going to be stored on a user's profile. So ideally I would like to be able to pull this information out of MySQL database and display it on a PHP page. How would I go about loading the proper dynamic menu when I populate the list from MySQl. How can I accomplish this the way I want. I dont think javascript would work in this case would it?

2 Answers 2

1

If you don't want a page refresh, then the answer is "JavaScript". Now, you have a couple of options there. Personally, I prefer to load more up front, so I keep a JSON object which outlines the possibilities and then I swap static content for static content.

This would mean that onchange I would have something like:

var first = document.getElementById( "id of first select" )
var items = possibilities[ 
    first.value // you can also do things with selectedIndex and options if needs.
];

var second = document.getElementById( "id of second select" )
for( var i in items )
{
    var opt = document.createElement('option');
    opt.setAttribute('value', items[ it ] );
    second.appendChild( opt );
} 

Your other option is to send data "over the wire" and get it working through AJAX. Not having room for a tutorial, I think I can safely link you to this one.

Sign up to request clarification or add additional context in comments.

Comments

1

You certainly can do this with JavaScript. It is called AJAX. Most people will use a JavaScript framework like jQuery to abstract out some of the issues with using the XMLHTTPRequest object to establish a connection with your server and request/receive data.

You still work out the server side code in PHP and MySQL, you just use AJAX to call on the data and work with it.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.