CoderZone.org

Category: >> PHP Code >> Build HTML select list from table Bookmark and Share

<< lastnext >>

Snippet Name: Build HTML select list from table

Description: This function builds an HTML select list from from data retrieved from a mySQL table.

Comment: (none)

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

<?php 
 
function html_drop_down ($in_name 
                            ,$in_tablename 
                            ,$in_value_column_name 
                            ,$in_display_column_name 
                            ,$in_other_value = "" 
                            ,$in_other_display = "" 
                            ,$in_selected_value = "" 
                            ,$in_where_clause = "") { 
 
    // build the SQL string 
    $sql = "SELECT " . $in_value_column_name . " col_val," . 
                       $in_display_column_name . " col_disp" . 
           " FROM " . $in_tablename; 
    if ($in_where_clause) { 
        $sql .= " " . $in_where_clause; 
    } 
    $sql .= " order by col_disp"; 
 
    // connect to mysql, put your specifics here. 
    mysql_pconnect() or die ("problems connecting to Database."); 
 
    // queries the database, be sure to name your database. 
    $result = mysql_db_query("ecomm",$sql); 
 
    // build the select list. 
    if ($result) { 
       $return_value = "<SELECT NAME=\"$in_name\">"; 
 
       if ($in_other_display) { 
           $return_value .= "<OPTION VALUE=\"$in_other_value\"> $in_other_display </OPTION>"; 
       } 
 
       while ($rec = mysql_fetch_array($result)) { 
 
           $return_value .= "<OPTION "; 
 
           if ($in_selected_value) { 
               if ($rec["col_val"] == $in_selected_value) { 
                   $return_value .= " SELECTED "; 
               } 
           } 
 
           $return_value .= " VALUE=\"" . $rec["col_val"] . "\"> " . 
                            $rec["col_disp"] . " </OPTION>"; 
        } 
 
        $return_value .= "</select>"; 
    } else { 
        $return_value .= "No data."; 
    } 
 
    mysql_free_result($result); 
 
    return $return_value; 
 
} 
?> 
 
<? 
/* Here's three examples of how you can use this function */ 
 
/* Simple example */ 
echo html_drop_down ("formvar1_prod_type" 
                     ,"prod_types" 
                     ,"prod_type_id" 
                     ,"name"); 
 
/* An example with an extra value in the list, good for N/A, All values for queries etc.. */ 
echo html_drop_down ("formvar2_prod_type" 
                    ,"prod_types" 
                    ,"prod_type_id" 
                    ,"name" 
                    ,"-1" 
                    ,"All Types"); 
 
/* An example with a where clause */ 
echo html_drop_down ("formvar3_prod_type" 
                    ,"prod_types" 
                    ,"prod_type_id" 
                    ,"name" 
                    ,"-1" 
                    ,"All Types" 
                    ,"3" 
                    ,"WHERE prod_type_id <> 4"); 
 
 
/* Here's the data used in my example, it should work with any table: 
 
mysql> select prod_type_id, name from prod_types; 
+--------------+-------------------+ 
| prod_type_id | name              | 
+--------------+-------------------+ 
|            1 | Mother Boards     | 
|            2 | Graphics Cards    | 
|            3 | Memory            | 
|            4 | Pointing Devices  | 
|            5 | Keyboards         | 
|            6 | Operating Systems | 
+--------------+-------------------+ 
6 rows in set (0.00 sec) 
*/ 
 
?>
 
 
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: 8