Jump to content

[SOLVED] query from db, add values in dropdown menu


jjmusicpro

Recommended Posts

1. Query the database to get the ids and/or values

2. Open a SELECT control: <SELECT name='something'>

3. Loop over the query results, inserting an OPTION for each one:

<OPTION value='{$row['id']}'>{$row['name']}</OPTION> or similar...

4. Close the select: </SELECT>

5. On POST, check the value of the control: $someval = $_POST['something'];

6. header to whatever page you want to go to: header("location: someotherpage.php");exit;

Adding in any menu is quite simple.

      ...............................................................

      Just select the information or data from the database.

      Use the <select> tag and put the selected information

      into the <option> tag .

      And your menu will be created.

      its quite simple just try it .

      Reply me if you face any problem. ??? :-[

      .............................................................

<form action='accounts.php' method='GET'>
<select name='name'>
<?php
parse_str("$QUERY_STRING");
$db = mysql_connect("[your host - usually "localhost"]", "[your username]","[your password]") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("[your database]",$db))
die("No database selected."); 
$acc1="SELECT * from accounts";
$acc2=mysql_query($acc1) or die("Could not select accounts.");
while($acc3=mysql_fetch_array($acc2)) {
echo "<option value='$query[name]'>$query[name]</option>";
}
?>
</select>
<input type='submit' name='submit' value='Submit'>
</form>

 

that would connect to a mysql database, select table accounts with one field, name, and print all the rows.

I tried to run that code and it didnt work :(

It builds the page, and the drop down, but nothings in the drop down :(

 

I have a table called zipcodes, with a column called account_name

 


<form action='nothing.php' method='GET'>
<select name='name'>
<?php
parse_str("$QUERY_STRING");
$db = mysql_connect("[localhost]", "[xxxxxxx]","[xxxxx]") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("[xxxxxx]",$db))
die("No database selected."); 
$acc1="SELECT * from zipcodes";
$acc2=mysql_query($acc1) or die("Could not select accounts.");
while($acc3=mysql_fetch_array($acc2)) {
echo "<option value='$query[account_name]'>$query[account_name]</option>";
}
?>
</select>
<input type='submit' name='submit' value='Submit'>
</form>

$sql = "SELECT * FROM `table`";
$res = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($res) == 0){
echo "No values in database!\n";
}else {
echo "<select name=\"zip\">\n";
   while($row = mysql_fetch_assoc($res)){
   echo "<option value=\"$row[zip]\">$row[town]</option>\n";
   }
echo "</select>\n";
}

I tried that but didnt work:

Still gives blank drop down...

 

<form action='nothing.php' method='GET'>
<select name='name'>
<?php
parse_str("$QUERY_STRING");
$db = mysql_connect("[localhost]", "[xxxxx]","[xxxxxxx]") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("[xxxxxxx]",$db))
die("No database selected."); 
$sql = "SELECT * FROM `zipcodes`";
$res = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($res) == 0){
echo "No values in database!\n";
}else {
echo "<select name=\"zip\">\n";
   while($row = mysql_fetch_assoc($res)){
   echo "<option value=\"$row[account_name]\">$row[iD]</option>\n";
   }
echo "</select>\n";
}

?>
</select>
<input type='submit' name='submit' value='Submit'>
</form>

I changed it but sill didnt want to work: The page comes up with a dropdown, but nothing is in the drop down:

 

<form action='nothing.php' method='GET'>Select Account:<br>
<select name='name'>
<?php
parse_str("$QUERY_STRING");
$db = mysql_connect("[localhost]", "[xxxxxx]","[xxxxx]") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("xxxxxxx]",$db))
die("No database selected."); 
$sql = "SELECT * FROM `zipcodes`";
$res = mysql_query($sql) or die(mysql_error());

if(mysql_num_rows($res) == 0){
echo "No values in database!\n";
}else {
echo "<select name=\"zip\">\n";
   while($row = mysql_fetch_assoc($res)){
   echo "<option value=\"$row[account_name]\">$row[search_id]</option>\n";
   }
echo "</select>\n";
}

?>
</select>
<input type='submit' name='submit' value='Submit'>
</form>

<form action='nothing.php' method='GET'>
<select name='name'>
<?php
parse_str("$QUERY_STRING");
$db = mysql_connect("localhost", "username","password") or die("Could not connect.");
if(!$db) 
die("no db");
if(!mysql_select_db("dbname",$db))
die("No database selected."); 
$acc1="SELECT * from zipcodes";
$acc2=mysql_query($acc1) or die("Could not select accounts.");
while($acc3=mysql_fetch_array($acc2)) {
echo "<option value='$acc3[account_name]'>$acc3[search_id]</option>"; // was $query[account_name] - not set, i set $acc3 - this was my old one
}
?>
</select>
<input type='submit' name='submit' value='Submit'>
</form>

Thank you very much, how do i limit the results to just 1 instance of that account_name found?

 

Right now, i might have 4 or 5 account_name listed the same, and it will put all 5 of those in the drop down, i just want 1 of each of the uniquie account_name it finds

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.