Combo box de choix avec les enregistrement d'une table
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013
-
18 janv. 2011 à 15:06
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013
-
19 janv. 2011 à 16:21
Bonjour, j'ai relevé sur le site une fonction permettant de créer un combobox avec les enregistrements d'une table
mais impossible de la faire fonctionner, il n'y a rien qui s'affiche
merci de votre aide
liste_cotis.php
$table3="types_reglt";
//Ma fonction est dans un fichier fonctions.php au même niveau que mon script de traitement liste_cotis.php
include("fonctions.php");// On inclut dans la page les Fonctions nécessaire au bon fonctionnement du script
on envoi les paramètres de la fonction
echo choix_reglt('SELECT `type_reglt`, `libelle_type_reglt` FROM `$table3`', 'Choisir le Type de Règlements');//fonction liste déroulante
//Affichage de la combo box
echo $html //variabl return de la fonction
Fonction se trouvant dans le fichier fonctions.php
function choix_reglt ($sql, $nom, $selected 0, $defautSelected 'Cliquez ici pour sélectionner') {
// On execute la requête
if (false !($query mysql_query ($sql)))
{
// On vérifie que la requête retourne quelque chose
if (mysql_num_rows ($query) != 0) {
// Variable $html contenant le code HTML à renvoyer
$html = '<select name="'.$nom.'">
<option value="0"'.(($selected == 0)?' selected="selected"':'').'>'.$defautSelected.'</option>';
// Boucle parcourant le résultat de la requête
while ($value = mysql_fetch_row ($query)) {
// Pour chaque enregistrement on ajoute une option dans la liste
$html .= '
<option value="'.$value[0].'"'.(($selected == $value[0])?' selected="selected"':'').'>'.$value[1].'</option>';
}
// Fin de la liste déroulante
$html .= '</select>';
// On renvoi le code HTML
return $html;
// Sinon, si la requête ne retourne rien
} else {
// On renvoi false
return false;
}
// Sinon la requête est fausse
} else {
// On renvoi false
return false;
}
}
cod57
Messages postés1654Date d'inscriptiondimanche 7 septembre 2008StatutMembreDernière intervention11 septembre 201319 18 janv. 2011 à 16:02
bonjour
j'ai fait un petit changement dans cette fonction
essaie voir
a++
function choix_reglt ($sql, $nom, $selected 0, $defautSelected 'Cliquez ici pour sélectionner') {
// On execute la requête
if (false !($query mysql_query ($sql)))
{
// On vérifie que la requête retourne quelque chose
if (mysql_num_rows ($query) != 0) {
// Variable $html contenant le code HTML à renvoyer
$html = '
'.$defautSelected.'';
// Boucle parcourant le résultat de la requête
while ($value = mysql_fetch_row ($query)) {
// Pour chaque enregistrement on ajoute une option dans la liste
$html .= ''.$value[1].'';
}
// Fin de la liste déroulante
$html .= '';
// On renvoi le code HTML
return $html;
// Sinon, si la requête ne retourne rien
} else {
// On renvoi false
return false;
}
// Sinon la requête est fausse
} else {
// On renvoi false
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013 18 janv. 2011 à 19:04
merci à toi pour ta disponibilité
Désolé de t'avoir fait travailler pour rien
en fait j'ai crée la table sur mon localhost, et pas sur mon site
et bien entendu je faisais les essais sur mon site
POUR CEUX INTÉRESSE CE script FONCTIONNE TRÈS BIEN DANS SA VERSION ORIGINALE (donc du premier message)
APPEL DE LA FONCTION
echo choix_reglt('SELECT `type_reglt`, `libelle_type_reglt` FROM `$table3`', 'Choisir le Type de Règlements');//fonction liste déroulante
JE REMERCIE L4AUTEUR UNE TRES BONNE FONCTION QU'IL FAUT DANS SA BOITE A OUTILS
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013 19 janv. 2011 à 09:11
Bonjour cod57
peux tu me dire comment je récupère le résultat de la combo dans une variable me servant à faire un tri
sur mon type_reglt dans le where d'un select ,?
merci d'avance et excuse moi pour hier, coup de fatigue
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013 19 janv. 2011 à 11:51
merci de ta réponse
oui je pensais pouvoir récupérer la valeur du choix pour m'en servir pour faire un tri
// déclaration de tableau
$tri=@$_GET['tri'];
if($tri==''){$tri="id_cotis DESC";} // on met le tri par défaut ASC ou DESC
if($tri==''){$tri="Il n'y a pas d'Enregistrement sur la Base";} //message QUAND IL N'Y A RIEN DE RÉCUPÉRÉ PAR GET
// puis :
$requete = "SELECT * FROM $table WHERE type_reglt=????Valeur du retour de la combo 1-2 ou 3???????? order by ".$tri;
$valeur = mysql_query($requete);
cs_claude77260
Messages postés54Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 8 avril 2013 19 janv. 2011 à 16:21
si qq'un passe par là
j'arrive au bout, tout fonctionne bien,il me manque la recuperation de la variable envoyée en POST de la variable récupérée
Quand je fais un choix + go! je récupère et j'envoie bien l'indice de ma liste
voila ce que j'ai dans mon navigateur
si qq'un a une idée ??????????????????????? Merci d'avance
Partie finale du script
// combobox Affichage des champs d'une table de choix
include("fonctions.php");// On inclut dans la page les Fonctions nécessaire au bon fonctionnement du script
//Déclaration du tableau contenant les combo
echo'';
echo'----
';
echo'';
//fonction liste deroulante
echo'<form action =liste_cotis.php methode=post name=form_reglt';
echo "Type De Cotisation :
" ;
// sélectionne toutes les fiches de la table $table
$requete = "SELECT * FROM $table where id_type_cotis=$indice_cotis order by 'date_enreg'asc ";
$valeur = mysql_query($requete);