Afficher les informations d'aprés un choix liste déroulante
Fermé
onss111
Messages postés
50
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
25 septembre 2017
-
2 mai 2013 à 18:20
John-Locke Messages postés 1 Date d'inscription dimanche 7 septembre 2014 Statut Membre Dernière intervention 7 septembre 2014 - 7 sept. 2014 à 11:42
John-Locke Messages postés 1 Date d'inscription dimanche 7 septembre 2014 Statut Membre Dernière intervention 7 septembre 2014 - 7 sept. 2014 à 11:42
A voir également:
- Afficher les informations d'aprés un choix liste déroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Entrer les informations d'identification reseau - Guide
- Google sheet liste déroulante - Accueil - Guide bureautique
6 réponses
Utilisateur anonyme
Modifié par kyser soze le 2/05/2013 à 22:15
Modifié par kyser soze le 2/05/2013 à 22:15
Salut salut,
Tu veux le faire d'une certaine façon? Avec un formulaire, en ajax, tu t'en fou?
Je suis de bonne humeur , je te montre un petit moyen sympa, pour pousser un petit peu ton code, tu n'es pas très loin.
(Pour cet exemple je suppose que "id" dans ta table commande est une clé primaire et donc est unique).
La première chose, étant donné que tu fais déjà une requête en base de donnée c'est bien d'en profiter pour récupérer tout ce que tu souhaites à ce moment là : fais un SELECT * FROM commande ORDER BY id ASC et récupère toutes les données dans un tableau dont l'indice correspondra à l'id de la commande.
On a donc un menu déroulant contenant des id comme tu l'as fais, et un tableau contenant le reste des informations. On va préparer des balises <div> contenant les informations de la base de donnée, les id de ces balises correspondront aux valeurs contenues dans le menu déroulant pour pouvoir les identifier. On les cachera à l'affichage pour les faire apparaitre lors du clique dans le menu.
J'espère avoir été clair , voici la pratique :
Résolu? ===> [RESOLU]
Tu veux le faire d'une certaine façon? Avec un formulaire, en ajax, tu t'en fou?
Je suis de bonne humeur , je te montre un petit moyen sympa, pour pousser un petit peu ton code, tu n'es pas très loin.
(Pour cet exemple je suppose que "id" dans ta table commande est une clé primaire et donc est unique).
La première chose, étant donné que tu fais déjà une requête en base de donnée c'est bien d'en profiter pour récupérer tout ce que tu souhaites à ce moment là : fais un SELECT * FROM commande ORDER BY id ASC et récupère toutes les données dans un tableau dont l'indice correspondra à l'id de la commande.
On a donc un menu déroulant contenant des id comme tu l'as fais, et un tableau contenant le reste des informations. On va préparer des balises <div> contenant les informations de la base de donnée, les id de ces balises correspondront aux valeurs contenues dans le menu déroulant pour pouvoir les identifier. On les cachera à l'affichage pour les faire apparaitre lors du clique dans le menu.
J'espère avoir été clair , voici la pratique :
<?php $connexion=mysql_connect('localhost','root',"") or die ("connexion impossible."); $db=mysql_select_db('projet',$connexion) or die ("base de données non accessible"); $SQL_C = "SELECT * FROM commande ORDER BY id ASC"; $result_C = mysql_query($SQL_C)or die(mysql_error()); $str=""; $i=0; //Creation du menu déroulant while ($val_C = mysql_fetch_array($result_C,MYSQL_ASSOC)) { foreach($val_C as $key => $value){ if($key!="id"){ $values[$val_C['id']][$key]=$value; //tableau $values //id unique : premiere dimension du tableau l'id de la commande //deuxième : les élément de la base de donnée correspondant à l'id //On crée le tableau qui ressemblera à : // $values['1']['type'] //$values[1]['description'] //$values[1]['etat'] //... } } //Contient les option du menu déroulant qu'on affichera plus loin $str.="<option value='".$val_C['id']."'>".$val_C['id']."</option>"; } mysql_close($connexion); //Création des div contenant les éléments de la base de donnée $str_div=""; foreach($values as $key => $value){ //On cache toutes les div //La fonction affiche() fera apparaitre la div correspondante au click $str_div.="<div id='".$key."' style='display:none'>"; $str_div.="<ul>"; foreach($value as $key_value => $rslt){ $str_div.="<li>".$key_value." : ".$rslt."</li>"; } $str_div.="</ul>"; $str_div.="</div>"; } ?> <!-- Page HTML --> <p>Choisissez un appel d'offre: </p> <!-- événement onchange de la balise select définit sur la fonction affiche() --> <select id='select' name='select' onchange='affiche()'> <option value='0'>-----choisir-----</option> <?php //$str contient la chaine de caractère html des différentes options du menu déroulant echo $str; ?> </select> <?php //$str_div contient la chaine de caractère html des différentes div echo $str_div; ?> <script type="text/javascript"> var last_div=""; function affiche(){ var id=document.getElementById("select").value; //Si un div est déjà affichée on l'a cache if(last_div!=""){ document.getElementById(last_div).style.display="none"; } last_div=id; //On affiche le contenu document.getElementById(id).style.display="block"; } </script>
Résolu? ===> [RESOLU]
onss111
Messages postés
50
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
25 septembre 2017
3
7 mai 2013 à 11:48
7 mai 2013 à 11:48
Merciiiiiiiii c résolu vraiment merciiii bcq pour ton aide :))
SVP j'ai une autre problème svp pouvez vous d'aider :))))
j'ai encore la même liste déroulante qui contient les id des commandes et la 2ème contient les étapes de déroulement des commandes
Si par exemple l'utilisateur choisit un identifiant de la 1ère liste, il va mettre à jour les étapes en sélectionnant un champ de la 2ème liste, une fois je clique sur valider l'étape sera enregistré au niveau de la base de donnée
si j'actualise la page Ce champ (étape choisi) sera désactivé ou coloré une fois est stocké dans la base de donnée,
Voilà le code de la sélection d'un id de la base:
<?php
$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
$db=mysql_select_db('projet',$connexion) or die ("base de données non accessible");
?>
<p>Choisissez un appel d'offre: </p>
<select id=select2 name=id>
<option value=0>-----choisir-----</option>
<?php
$SQL_C = 'SELECT id FROM commande ORDER BY id ASC';
$result_C = mysql_query($SQL_C);
while ($val_C = mysql_fetch_array($result_C))
{
echo '<option value="'.$val_C['id'].'">'.$val_C['id'].'</option>';
}
?>
</select>
et voilà le code des étapes des commandes:
<select id=select2 name="etape">
<option>Etude</option>
<option>Depot dossier AO</option>
<option >Publication de l'avis de presse</option>
<option > Réception des offres techniques </option>
<option >Ouverture des plis technique.</option>
<option >Dépouillement des plis tech</option>
<option > Dépôt de résultat </option>
<option> Ouverture des plis financière. </option>
<option> Dépôt de dossier </option>
<option> Conclusion </option>
<option> Publication resultat </option>
</select>
pouvez vous m'aider svp ...
Merci d'avance :)
SVP j'ai une autre problème svp pouvez vous d'aider :))))
j'ai encore la même liste déroulante qui contient les id des commandes et la 2ème contient les étapes de déroulement des commandes
Si par exemple l'utilisateur choisit un identifiant de la 1ère liste, il va mettre à jour les étapes en sélectionnant un champ de la 2ème liste, une fois je clique sur valider l'étape sera enregistré au niveau de la base de donnée
si j'actualise la page Ce champ (étape choisi) sera désactivé ou coloré une fois est stocké dans la base de donnée,
Voilà le code de la sélection d'un id de la base:
<?php
$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
$db=mysql_select_db('projet',$connexion) or die ("base de données non accessible");
?>
<p>Choisissez un appel d'offre: </p>
<select id=select2 name=id>
<option value=0>-----choisir-----</option>
<?php
$SQL_C = 'SELECT id FROM commande ORDER BY id ASC';
$result_C = mysql_query($SQL_C);
while ($val_C = mysql_fetch_array($result_C))
{
echo '<option value="'.$val_C['id'].'">'.$val_C['id'].'</option>';
}
?>
</select>
et voilà le code des étapes des commandes:
<select id=select2 name="etape">
<option>Etude</option>
<option>Depot dossier AO</option>
<option >Publication de l'avis de presse</option>
<option > Réception des offres techniques </option>
<option >Ouverture des plis technique.</option>
<option >Dépouillement des plis tech</option>
<option > Dépôt de résultat </option>
<option> Ouverture des plis financière. </option>
<option> Dépôt de dossier </option>
<option> Conclusion </option>
<option> Publication resultat </option>
</select>
pouvez vous m'aider svp ...
Merci d'avance :)
Utilisateur anonyme
7 mai 2013 à 12:02
7 mai 2013 à 12:02
Okok, tu as des contraintes particulières? Sans rechargement de page, formulaire?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
onss111
Messages postés
50
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
25 septembre 2017
3
7 mai 2013 à 12:15
7 mai 2013 à 12:15
je veut si par exemple l'utilisateur peut une autre fois mette à jour les étapes de la commande il trouve les champ de la 2ème liste (les étapes de la commande) qui sont déjà sélectionnées, relatives à l'id saisie par la 1ere liste : désactivées ou colorés
(c'est à dire une fois une étape relative à l'id est stocké dans la base il ne peut pas la re-sélectionnée ou par exemple il l'a trouve coloré )
help me pleaseeeeeeee :'(((((
Merciiiiiiiiii d'avance
(c'est à dire une fois une étape relative à l'id est stocké dans la base il ne peut pas la re-sélectionnée ou par exemple il l'a trouve coloré )
help me pleaseeeeeeee :'(((((
Merciiiiiiiiii d'avance
onss111
Messages postés
50
Date d'inscription
jeudi 2 mai 2013
Statut
Membre
Dernière intervention
25 septembre 2017
3
7 mai 2013 à 15:25
7 mai 2013 à 15:25
je vous donne un exemple :
j'ai un id (AON 05) cette commande est dans l'étape (Réception des offres technique ) si je clique sur ce champ cette valeur sera à la place de la dernière étape ( Publication de l'avis de presse) au niveau de la base
si je visite une autre fois la page il faut que je trouve que l'étape (Réception des offres technique) et les étapes avant ( Etude, Depot dossier AO, Publication de l'avis de presse) sont désactivées ou colorés pour que je puisse savoir chaque commande ou elle est arrête ou encore je ne peux pas revenir en arrière pour chaque commande.
j'espère que vous arrivez à me comprendre :))
Je suis vraiment désolé pour le dérangement mais j'ai besoin de ce script dans mon Projet de fin d'études :(((
j'ai un id (AON 05) cette commande est dans l'étape (Réception des offres technique ) si je clique sur ce champ cette valeur sera à la place de la dernière étape ( Publication de l'avis de presse) au niveau de la base
si je visite une autre fois la page il faut que je trouve que l'étape (Réception des offres technique) et les étapes avant ( Etude, Depot dossier AO, Publication de l'avis de presse) sont désactivées ou colorés pour que je puisse savoir chaque commande ou elle est arrête ou encore je ne peux pas revenir en arrière pour chaque commande.
j'espère que vous arrivez à me comprendre :))
Je suis vraiment désolé pour le dérangement mais j'ai besoin de ce script dans mon Projet de fin d'études :(((
5 mai 2013 à 19:35
le code est génial ça marche très bien !!!
merciiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii c'est très gentil de votre part :)))))))))))))))))))))))))))
9 avril 2014 à 00:54
J'espère que c'est clair mon probleme
Svp aidez-moi !! c'est urgent !!!
et merci d'avence
7 sept. 2014 à 11:42
Juste une petite question, je me suis inspiré de ton code pour réaliser une liste déroulante avec choix ( au passage un énorme merci ça ma drôlement bien aidé), mais j'aimerais simplement, au lieu que ça me récupère l'ID de ma table et me l'affiche à l'écran, afficher l'élément sélectionné dans liste.
En gros quelque chose comme :
Veuillez choisir un élément :
[Element1]
Vous avez choisi l'élément :
Element1
Serait-il possible d'avoir un petit coup de pouce svp? merci beaucoup !!
Bonne journée à tous