Click to See Complete Forum and Search --> : Drop Down Box accessing a SQl database


blackbad88
01-18-2008, 12:13 PM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<select name="mydropdown">
<?
require('phpsqlajax_dbinfo.php');
$vartocheckfor = ''; //set this via querystring or whatever.
$db = 'consolep_KmlWork'; //use this database in queries
$table = 'State'; //use this table in queries
$where = ' WHERE'; //use this var for extra settings
if($where == ' WHERE'){unset($where);} //just in case you don't use the where var.
$q = mysql_query("SELECT * FROM $db.$table $where");
while($qd = mysql_fetch_assoc($q))
{
?>
<option value="<?=$qd[Field1]?>"<?if($vartocheckfor == $qd[Field1]){?>
selected<?}?>><?=$qd[Field2]?></option>
<?
}

?>
</select>
</body>
</html>


What's wrong with this code. I have 50 states in a database and i want my php code to access them and put them in a drop down box.:confused:

ryanbutler
01-18-2008, 12:22 PM
I can't make heads or tails out of that code. Are you querying specific fields from the database table? You parse out Field1, but yet you never query for it that I see.

Your code should look something like this:

<?php
//-- Declare connection to the database
$db=mysql_connect ("localhost", "username", "password") or die ('I cannot connect to the database because: ' . mysql_error());

//-- Select Database
mysql_select_db ("mydatabase");

//-- Declare variable to pull data from table
$query="SELECT StateDescription, StateValue FROM States";

//-- Run the query on the DB
$result = mysql_query($query);

//-- Loop through the result array and display results
while($row = mysql_fetch_array($result))
{
$StateDescription=$row['StateDescription'];
$StateValue=$row['StateValue'];

//-- Display the results of the array
echo "<select name='states'>";
echo "<option value='$StateValue'>$StateDescription</option>";
echo "</select>";
}

//- close db connection

mysql_close($db);
?>

blackbad88
01-18-2008, 12:35 PM
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<select name="mydropdown">
<?
require('phpsqlajax_dbinfo.php');

// Opens a connection to a MySQL server.
$connection = mysql_connect ($server, $username, $password);
if (!$connection)
{
die('Not connected : ' . mysql_error());
}

// Sets the active MySQL database.
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected)
{
die ('Can\'t use db : ' . mysql_error());
}
$vartocheckfor = ''; //set this via querystring or whatever.
$db = 'consolep_KmlWork'; //use this database in queries
$table = 'State'; //use this table in queries
$where = ' WHERE 1'; //use this var for extra settings
if($where == ' WHERE'){unset($where);} //just in case you don't use the where var.
//$q = mysql_query('SELECT * FROM CTECH_Kml WHERE 1');
$q = mysql_query("SELECT * FROM $db.$table $where");

if (!$q)
{
die('Invalid query: ' . mysql_error());
}

while($qd = mysql_fetch_assoc($q))
{
?>
<option value="<?=$qd['id']?>"<?if($vartocheckfor == $qd[State_Name]){?>
selected<?}?>><?=$qd[State_Name]?></option>
<?
}

?>
</select>
</body>
</html>


I figured it out, it wasn't connecting to the database correctly. I had to included some test. Hey I got another question! If the user selects a value i want the next drop down box to become undisabled and selectable. What would be the code for that?