View: Construct select (HTML) dynamic with any table SQL

  1. 6 years ago by xillon
    1. function selectTable($nomtable, $where = NULL, $order = NULL)
    2.          {
    3.             $sql = "SELECT * FROM $nomtable";
    4.             if ( $where !== NULL ) $sql .= " WHERE $where";
    5.             if ($order !== NULL)$sql.=" ORDER BY $order ";
    6.            
    7.             $query=mysql_query($sql);
    8.            
    9.             $ret = array();
    10.             while ( $donnee = mysql_fetch_assoc($query))
    11.             {
    12.                $ret[] = $donnee;
    13.             }
    14.             return $ret;
    15.          }
    16.          
    17.          function sqlSelect($sqlDonnee, $nomCol, $valCol)
    18.          {
    19.             for($i = 0 ; $i<count($sqlDonnee) ; $i++)
    20.             {
    21.                $selectDonee["name"][$i] = $sqlDonnee[$i][$nomCol];
    22.                $selectDonee["value"][$i] = $sqlDonnee[$i][$valCol];
    23.             }
    24.          return $selectDonee;
    25.          }
    26.          
    27.          function htmlSelect($nom, $options, $selected = NULL, $css = NULL)
    28.          {
    29.             $select  = "<select name=\"".htmlentities($nom)."\"";
    30.             if ( $css !== NULL )
    31.                $select .= " $css>";
    32.             else
    33.                $select .= ">";
    34.  
    35.             for($i = 0 ; $i<count($options["name"]) ; $i++)
    36.             {
    37.                if ( $selected !== NULL && $selected == $options["value"][$i] )
    38.                   $select .= "<option value=\"".$options["value"][$i]."\" selected=\"selected\">".$options["name"][$i]."</option>\n";
    39.                else
    40.                   $select .= "<option value=\"".$options["value"][$i]."\">".$options["name"][$i]."</option>\n";
    41.             }
    42.             $select .= "</select>\n";
    43.  
    44.             return $select;
    45.          }
    46.  
    47. /*** Exemple utilisation ***/
    48. /* <option selected> par defaut pour le pays ayant l'id 72 */
    49.          $paysSelect = isset($_POST["pays"]) ? ($_POST["pays"]) : ("72");
    50.          
    51.          $selectPays=selectTable("pays");
    52.          $pays=sqlSelect($selectPays,"nom","id");         
    53.          echo htmlSelect("id", $pays, $paysSelect); // on construit notre <select>
    Paste this in your website: <script type="text/javascript" src="http://www.posteet.com/embed/218"></script>

1 comment about "Construct select (HTML) dynamic with any table SQL"