begin process at 2012 02 15 13:22:16
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > GÉNÉRATEUR DE LISTE DÉROULANTE

GÉNÉRATEUR DE LISTE DÉROULANTE


 Information sur la source

Note :
Aucune note
Catégorie :Astuces Classé sous :select, mysql, liste, deroulate, option Niveau :Débutant Date de création :26/02/2008 Vu :10 308

Auteur : caviar

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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) );?>
<?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


 Sources du même auteur

CLASS CALENDRIER AVEC AFFICHAGE D'UN INTERVALE DE JOURS DÉFI...
GOOGLE SEARCH PARSER
CONNAITRE LE NOMBRE DE PAGES INDEXÉES SUR GOOGLE
Source avec Zip Source avec une capture FONCTION RÉCURSIVE POUR GÉNÉRER UNE ARBORESCENCE DE FICHIERS...
GÉNÉRATEUR DE CONTENU

 Sources de la même categorie

Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000
Source avec Zip Source avec une capture GENERATEUR DE BOUTONS DE PARTAGES POUR RESEAUX SOCIAUX par cod57

 Sources en rapport avec celle ci

Source avec Zip UN PARSEUR DE SQL (LISTER LES CHAMPS PRESENTS, ET PLUS SI AF... par coucou747
Source avec Zip Source avec une capture GESTION DE LISTES DE TITRES DE MUSIQUE À JOUER (PLAYLIST) AV... par Swamn
Source avec Zip LISTE DÉROULANTE AVEC TOUS LES PAYS par Arafat Le Sorcier
SÉCURISATION FORMULAIRE (SELECT ET OPTION) par fafa1510
Source avec Zip MINI LISTE GÉNÉRIQUE AFFICHANT UNE TABLE MYSQL ET PERMETTANT... par antoine129

Commentaires et avis

Commentaire de bgastinel le 07/03/2008 13:22:33

Super fonction,
Elle est facile, pratique et clair.

Par contre j'ai un souci avec le selected dans la bdd. Si tu pouvais nous donner un exemple avec les différentes options cela serait super.

Merci encore.

Commentaire de Louis13 le 12/04/2008 11:33:46

Je ne suis pas arrivé à traiter une valeur selected que j'avais mise.
cela marche bien à part le selected
sinon c'est super

Commentaire de caviar le 14/04/2008 13:58:05

c'est le para$selected
pour les paramètres précédents il faut envoyer une chaine vide
gener_select ('nom', 'table', 'val', 'key', '', '', '', 'valeur a selectionner', false, '', '');

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

lier liste deroulante [ par johnmichel ] bonjour, je souhaiterais lier deux liste d&#233;roulante que je charge a partir d'une base de donn&#233;e&nbsp;&nbsp;&nbsp; &lt;?php &nbsp;&nbsp;&nbsp remplir une liste deroulante en fonction d'une autre [ par gregou9 ] J'aimerais savoir cmt remplir ma seconde liste deroulante (act) en fonction de la premiere (coffr). Voici mon code:$liste_coffret="SELECT id,nom_fr fr Problème de liste liées [ par developpeuse21 ] Bonjour salut tt le monde ,je suis ravie de vous joindre voila .j'ai un probleme .j'ai une liste deroulante liee qui marche bien mais le probleme c'es besoin d'aide [ par hwm86 ] bonjour mes amis..j'ai besoin de votre aide.. je veux créer 2 liste de sélection et l'idée de créer la deuxième après que la première prend une valeur recuperer une valeur select dans une var php dans la meme page [ par hraiwen ] je veux détailler mon pblem esperant que quelqu'un peut m'aider voila mon code &lt;td valign="top"&gt;&lt;select name="sect" id="secteur" &gt; &lt;opt probleme pour générer un xml [ par scoubydog ] Bonjour à tous, je voudrais savoir comment récupérer en xml toute la liste des images d'une base de donnée en les classant dans leurs albums respectif pb liste déroulante [ par CapitaineJackSparrow ] Je veux récupérer dans une liste déroulante les données que j'ai dans une table, ça avait marché mais depuis j'ai du toucher à quelques puique celà ne pb code php [ par mickael56100 ] &lt;?phpheader('Content-type: text') ; // on déclare ce qui va être afficher // test des POST emisif ((isset($_POST['id']) &amp;&amp; !empty($_POST['i comment forcer l'affichage d'un count = 0 dans un tableau [ par atolldecolombo ] bonjour je souhaite créé un comparatif sur des membres d'une assos sur 2 annéesmon problème est que certaines années des champs ne sont pas remplisex Liste déroulante mysql [ par Tittano ] Bonjour,alors voila je suis débutant, j'ai pas mal cherché sur internet mais j'ai un petit problèmeJ'ai une base de donnée saisie avec une table saisi


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,123 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales