Can anyone tell me how I'd go about populating a drop down list from a mysql database using php?
I have a database called "test". In it I have two tables, one called "manufacturers"
It contains "manufacturer_id", and "manufacturer_name"
The other table is called "models"
This contains "manufacturer_id", "model_id", and "model_name"
My goal is to have a dropdown list where a person selects a manufacture, and then a second drop down where they can select a model made by that manufacturer.
Finally when using selecting the model from the second drop down, they should be directed to a model specific web page.
I can connect to the database (i think) and close the database, but none of guides i've tried to follow for the actual function work for me, with my limited knowledge.
Here is where i'm up to with my code so far
$dbhost = 'localhost';
$dbuser = 'username';
$dbpass = 'password';
// This is an example opendb.php
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$result = mysql_query("SELECT * FROM manufacturer");
while($row = mysql_fetch_array($result))
echo "<option value=". $row["manufacturer_id"] .">". $row["manufacturer_name"] . "</option>";
// an example of closedb.php
// it does nothing but closing
// a mysql database connection
Basically i'm trying to create a part finer similar to the way it works on the page below:
Can anyone of you guys help?
you must add in your config.php the following line:
and if your table is manufacturers you need to edit a $result = mysql_query("SELECT * FROM manufacturers");
it was just dbname='test'; that i needed.
my table was in deed manufacturer.
Now I just need to figure out how on selection of the manufacturer, to get another drop down list to appear populated by that manufacturer's models.
Imagine this is the output of the html generated by the page you already described:
<form action = "part_by_manufacturer.php" method = POST>
<option value=1 >Ford</option>
<option value=2 >GM</option>
Then this is a simple example of what the post back form handler would then do:
// turn the incoming var into an integer in case someone
// is trying an sql injection attack on you
$id = (int)$_POST['manufacturer_id'];
// inc db connection etc
// build your sql query
$qry = "select model from models where manufacturer_id = $id";
// a line of debug to make sure it worked as planned
// now display the results
echo "go back and pick a manufacturer please";
This topic is now closed. New replies are no longer allowed.