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
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.