Générateur de liste déroulante

Contenu du snippet

Petite fonction qui peut vous servir pour générer des listes déroulantes dans un formulaire.
très simple à utiliser ça évite de faire un code tout pas beau dans une page web en répétant à chaque fois la même chose ....

Source / Exemple :


<?php

/*
La connexion doit être effective à la bdd mysql
$table : $table de la bdd concernée
$value : colone de la table à seter dans les values
$key : colone de la table à  afficher dans le champ
$where : condition optionnelle du select
$origin : tableau $key => $value des options a préséter
$selected : value de l'option sélectionnée
$multiple : true = liste a selection multiple
$class : class css a appliquer
$style: $style css a appliquer

description : fonction qui génère un élément de formulaire liste déroulante sélect

  • /
function gener_select ($name, $table, $value, $key, $where='', $origin=array(), $id='', $selected='', $multiple=false, $class='', $style='') { if(!isset($name) or !isset($table) or !isset($value) or !isset($key)) { return false; break; } echo '<select '; if ($multiple == true) {echo ' multiple ';} if ($class != '') {echo 'class="'.$class.'"';} if ($style != '') {echo 'style="'.$style.'"';} echo ' name="'.$name.'" '; if ($id != '') {echo 'id="'.$id.'"';} echo '>'."\n\r"; //si on a un tableau d'options préremplis on les génère foreach ($origin as $k => $v) { echo '<option value="'.$v.'"'; if($v == $selected) { echo ' selected="selected" '; } echo '>'; echo $k; echo '</option>'."\n\r"; } //on sélect les données dans la bdd $rkt = 'select '.$value.', '.$key.' from '.$table.' '.$where; $req = mysql_query($rkt); while ($val = mysql_fetch_array($req)) { echo '<option value="'.$val[$value].'"'; if($val[$value] == $selected) { echo ' selected="selected" '; } echo '>'; echo $val[$key]; echo '</option>'."\n\r"; } echo '</select>'; echo $rkt ; } ?> exemple <?php //name, table ,value, key, where, origin, id, selected, multiple, class, style gener_select('id_presta' ,'presta', 'id_presta','comment_presta', '',array('Aucune' => 0) );?>

Conclusion :


seuls les 4 premiers paramètres sont obligatoires ... donc elle peut s'utiliser avec juste 4 param

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.