CoderZone.org

Category: >> PHP Code >> Build select menu from database Bookmark and Share

<< lastnext >>

Snippet Name: Build select menu from database

Description: This small function is used to build a select menu with the values from
a database table. Create the SQL statement outside the function with two values, one for the (option) value and one for the (option) label. The function is completely dynamic, you can change the name for the html elements (label and select) and you can use all tables you like.

Comment: (none)

Author: CoderZone
Language: PHP
Highlight Mode: PHP
Last Modified: March 01st, 2009

<?php 
 
// example sql statement 
$sql = "SELECT col_for_value, col_for_label FROM some_table"; 
 
function database_select($tbl_value, $tbl_label, $select_name, $label) { 
    global $sql; 
    $result = mysql_query($sql); 
    $menu = "<label for=\"".$select_name."\">".$label."</label>\n"; 
    $menu .= "<select name=\"".$select_name."\">\n"; 
    $menu .= "  <option value=\"\""; 
    $menu .= (!isset($_REQUEST[$select_name])) ? " selected" : ""; 
    $menu .= ">...\n"; 
    while ($obj = mysql_fetch_object($result)) { 
        $menu .= "  <option value=\"".$obj->$tbl_value."\""; 
        $menu .= (isset($_REQUEST[$select_name]) && $obj->$tbl_value == $_REQUEST[$select_name]) ? " selected" : ""; 
        $menu .= ">".$obj->$tbl_label."\n"; 
    } 
    $menu .= "</select>\n"; 
    mysql_free_result($result); 
    return $menu; 
} 
 
// example: 
// use the col names from the table too... 
echo database_select("col_for_value", "col_for_label", "my_select", "Select from:"); 
 
/* example output 
 
<label for="my_select">Select from:</label> 
<select name="my_select"> 
  <option value="" selected>... 
  <option value="val_1">value 1 
  <option value="val_2">value 2 
  ... 
</select> 
*/ 
 
?>
 
There haven't been any comments added for this snippet yet. You may add one if you like.  Add a comment 
© coderzone.org | users online: 7