Dynamic Populated Drop Down List PHP MySQL

2019-08-26 20:34发布

问题:

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?

回答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.



回答2:

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.