Recuperation des données d'une liste
Résolu/Fermé
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
-
20 févr. 2008 à 22:58
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 24 févr. 2008 à 12:01
lewis34 Messages postés 2557 Date d'inscription samedi 21 juillet 2007 Statut Membre Dernière intervention 30 mai 2015 - 24 févr. 2008 à 12:01
A voir également:
- Recuperation des données d'une liste
- Liste déroulante excel - Guide
- Logiciel de récupération de données - Guide
- Liste déroulante en cascade - Guide
- Gertrude a préparé la liste des affaires à prendre pour l'excursion. juliette a modifié cette liste en utilisant le mode suivi des modifications proposé par le traitement de texte. - Guide
- Récupérer une vidéo youtube - Guide
34 réponses
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 févr. 2008 à 00:24
21 févr. 2008 à 00:24
Bonsoir,
Pour recup de la marque:
$fabriquant=$_POST['fabriquant'];
si bien sur tu as method="post" dans ta balise<form
donc ta requette:
Pour recup de la marque:
$fabriquant=$_POST['fabriquant'];
si bien sur tu as method="post" dans ta balise<form
donc ta requette:
$reqmod="SELECT Modele FROM machine WHERE Constructeur='".$fabriquant."'"
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 05:44
21 févr. 2008 à 05:44
ok ,merci alain je teste ça.
je debute avec php et je pensais que post ne servais que pour recuperer des valeurs passée sur une autre page ,mais pas dans la meme page.
j'essaye
@+
je debute avec php et je pensais que post ne servais que pour recuperer des valeurs passée sur une autre page ,mais pas dans la meme page.
j'essaye
@+
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 07:13
21 févr. 2008 à 07:13
ca marche pas.... ^^^^^^
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 08:11
21 févr. 2008 à 08:11
Dans ce cas il faut mettre dans la balise select un onChange qui appelle un script Javascript.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 08:53
21 févr. 2008 à 08:53
merci croy,c'est ce que je me suis rendu compte en cheerchant une solution.
le pb c'est que JS je connais pas ttrop.Je suis en train de potasser ça ,mais y'a un truc que j'ai pas compris
comment on fait pour designer la variable recuperée dans le 1er select ?
<form><input type="text" value="" onchange="alert('onchange')"/></form>
j'ai vu ça en exemple mais ca m'ouvre un popup et j'arrive pas a trouver la syntaxe qui pourrais remplacer alert...
par avance merci
@+
le pb c'est que JS je connais pas ttrop.Je suis en train de potasser ça ,mais y'a un truc que j'ai pas compris
comment on fait pour designer la variable recuperée dans le 1er select ?
<form><input type="text" value="" onchange="alert('onchange')"/></form>
j'ai vu ça en exemple mais ca m'ouvre un popup et j'arrive pas a trouver la syntaxe qui pourrais remplacer alert...
par avance merci
@+
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 09:00
21 févr. 2008 à 09:00
Pour récupérer la valeur d'un menu select généré par <select name="modele"> dans un formulaire débutant par <form name="leF" : utilise document.leF.idOuNom.value.
Le script que tu dois définir sert à rappeler ta page avec en donnant en paramètre la vaeur du select
<script language="JavaScript">
<!--
function recharger()
{
lesParams = "?modele=" + document.leF.modele.value;
window.location="tonScript.php"
+ lesParams;
}
//-->
</script>
Le script que tu dois définir sert à rappeler ta page avec en donnant en paramètre la vaeur du select
<script language="JavaScript">
<!--
function recharger()
{
lesParams = "?modele=" + document.leF.modele.value;
window.location="tonScript.php"
+ lesParams;
}
//-->
</script>
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 09:03
21 févr. 2008 à 09:03
merci je teste ça
actuellement je potasse ce site
https://javascript.developpez.com/
mais c'est pas clair.. lol!!!
actuellement je potasse ce site
https://javascript.developpez.com/
mais c'est pas clair.. lol!!!
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 09:35
21 févr. 2008 à 09:35
bon j'avance petit à petit..
voila j'arrive a recuperer quelquechose ,mais c'est toujours le premier elemnt de la liste
<form name="ordi">
<select name="pc" id="pc" >
<option value="bureau">ordinateur de bureau</option>
<option value="portable">Portable</option>
</select>
<script language="javascript">
document.write(document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text);
</script>
</form>
a chaque fois c'est bureau (le 1er)
je vais y arriver.. lol!
voila j'arrive a recuperer quelquechose ,mais c'est toujours le premier elemnt de la liste
<form name="ordi">
<select name="pc" id="pc" >
<option value="bureau">ordinateur de bureau</option>
<option value="portable">Portable</option>
</select>
<script language="javascript">
document.write(document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text);
</script>
</form>
a chaque fois c'est bureau (le 1er)
je vais y arriver.. lol!
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 10:07
21 févr. 2008 à 10:07
Deux changements à faire :
1. placer ton script entre <head> et </head>
2. inclure onchange=".. dans la balise select
Ton script devient qqch comme :
<head>
<script language="javascript">
function recharge()
{
lesParams = "?pc="document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text;
window.location = "toScript.php" + lesParams;
}
</script></head>
<body>
<form name="ordi">
<select name="pc" id="pc" onchange="javascript:recharge();">
<option value="bureau">ordinateur de bureau</option>
<option value="portable">Portable</option>
</select>
</form>
1. placer ton script entre <head> et </head>
2. inclure onchange=".. dans la balise select
Ton script devient qqch comme :
<head>
<script language="javascript">
function recharge()
{
lesParams = "?pc="document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text;
window.location = "toScript.php" + lesParams;
}
</script></head>
<body>
<form name="ordi">
<select name="pc" id="pc" onchange="javascript:recharge();">
<option value="bureau">ordinateur de bureau</option>
<option value="portable">Portable</option>
</select>
</form>
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 févr. 2008 à 10:30
21 févr. 2008 à 10:30
Bonjour,
Si tu veux recuperer la valeur selectionnée dans la liste en Javascript:
dans ta partie html
<select name="liste_constr" id="liste_constr" onChange="recharge('liste_constr');">
dans ta fonction JS
function recharge(id_a_lire){
var valeur_selectionnee=document.getElementById(id_a_lire).value;
//et pour visualiser ça tu fais une petite boite d'alerte provisoire
alert(3valeur selectionnée dans la laiste: "+valeur_selectionnee);
}
Mais quand tu as fait ça tu va faire qou ?
-Si tu te lances sur cette piste en Javascript, il faut que tu utilises Ajax:
C'est à dire sur le onChange, ça appelle une fonction Ajax/Javascript
- qui va lire la valeur selectionnée
- qui va appeler en arrière plan sans rechargement de la page, un script php
en lui envoyant cette valeur
- le script php va lire la BDD avec cette valeur comme critère et renvoyer la deuxième liste
- lorsque Ajax reçoit ça il affiche la liste2 dans la page par innerHTML
C'est un peu compliqué, mais si tu veux essayer vas voir les exemples la dessus
Sinon tu as la solution tout en php qui recharge la page, elle s'appelle elle même
si ta page se nomme formulaire.php
action="formulaire.php
Tu récupères la valeurs reçue de liste 1 pour faire ta requette liste2 et l'afficher
Si tu veux recuperer la valeur selectionnée dans la liste en Javascript:
dans ta partie html
<select name="liste_constr" id="liste_constr" onChange="recharge('liste_constr');">
dans ta fonction JS
function recharge(id_a_lire){
var valeur_selectionnee=document.getElementById(id_a_lire).value;
//et pour visualiser ça tu fais une petite boite d'alerte provisoire
alert(3valeur selectionnée dans la laiste: "+valeur_selectionnee);
}
Mais quand tu as fait ça tu va faire qou ?
-Si tu te lances sur cette piste en Javascript, il faut que tu utilises Ajax:
C'est à dire sur le onChange, ça appelle une fonction Ajax/Javascript
- qui va lire la valeur selectionnée
- qui va appeler en arrière plan sans rechargement de la page, un script php
en lui envoyant cette valeur
- le script php va lire la BDD avec cette valeur comme critère et renvoyer la deuxième liste
- lorsque Ajax reçoit ça il affiche la liste2 dans la page par innerHTML
C'est un peu compliqué, mais si tu veux essayer vas voir les exemples la dessus
Sinon tu as la solution tout en php qui recharge la page, elle s'appelle elle même
si ta page se nomme formulaire.php
action="formulaire.php
Tu récupères la valeurs reçue de liste 1 pour faire ta requette liste2 et l'afficher
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 10:45
21 févr. 2008 à 10:45
merci à tous de vous pencher sur mon prblème.
le php ,sql c'est bon ,mais le JS oulala...^^^^^je nage complet
je suis en train de faire un site perso avec pour vocation de donner des conseils de dépannage de configuartion etc.. aux gens (gratuitement je precise.. lol!)
donc j'ai une page ou les gens vont remplir un formulaire decrivant leur config matériel.
dans mes select qui sont rattachés a ma BD s'affiche les marques des pc,si ce sont des portables ou pas ,enfin je vais avoir 7 ou 8 select à faire.
en selectioonant par exemple ordinateur portable dans le select suivant je voudrais qu'il ne s'affiche que les ordi portable et ainsi de suite.
pour creer la requete sql faisant le tri y'a pas de probleme sauf que j'arrive pas a recuperer la valeur du precedent select pour l'inclure dans ma requete
ex je choisit type d'ordi=portable
ma requete pour afficher les modeles dans le select suivant serai
$reqmod="SELECT Model FROM machine WHERE Type='$type'"; ou $type serai le resulta du 1er select
et ainsi de suite
..vous suivez ???
j'y suis depuis 5h ce matin et je dois avouer que c'est un peu "brouillon" dans ma tite tête..
la page n'est pas encore en ligne mais voici l'adresse
http://milsodor.no-ip.org/prive/assistance/profil.php
si tu veut regarder
encore merci
@+
le php ,sql c'est bon ,mais le JS oulala...^^^^^je nage complet
je suis en train de faire un site perso avec pour vocation de donner des conseils de dépannage de configuartion etc.. aux gens (gratuitement je precise.. lol!)
donc j'ai une page ou les gens vont remplir un formulaire decrivant leur config matériel.
dans mes select qui sont rattachés a ma BD s'affiche les marques des pc,si ce sont des portables ou pas ,enfin je vais avoir 7 ou 8 select à faire.
en selectioonant par exemple ordinateur portable dans le select suivant je voudrais qu'il ne s'affiche que les ordi portable et ainsi de suite.
pour creer la requete sql faisant le tri y'a pas de probleme sauf que j'arrive pas a recuperer la valeur du precedent select pour l'inclure dans ma requete
ex je choisit type d'ordi=portable
ma requete pour afficher les modeles dans le select suivant serai
$reqmod="SELECT Model FROM machine WHERE Type='$type'"; ou $type serai le resulta du 1er select
et ainsi de suite
..vous suivez ???
j'y suis depuis 5h ce matin et je dois avouer que c'est un peu "brouillon" dans ma tite tête..
la page n'est pas encore en ligne mais voici l'adresse
http://milsodor.no-ip.org/prive/assistance/profil.php
si tu veut regarder
encore merci
@+
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 11:13
21 févr. 2008 à 11:13
Il y a certainement plusieurs façons de traiter ton pb.
La plus simple reste cependant Javascript seul comme je te l'ai indiqué.
Je te conseille de l'appliquer en comprenant bien ce qui se passe.
La plus simple reste cependant Javascript seul comme je te l'ai indiqué.
Je te conseille de l'appliquer en comprenant bien ce qui se passe.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 11:14
21 févr. 2008 à 11:14
oui moi aussi je pense que JS est la plus simple maintenant faut plus que j'y arrive
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 11:16
21 févr. 2008 à 11:16
Bon courage et à ta disposition.
Aide-toi le ciel t'aidera : dans ton cas essaye de comprendre ce que tu programmes.
Aide-toi le ciel t'aidera : dans ton cas essaye de comprendre ce que tu programmes.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 11:20
21 févr. 2008 à 11:20
j'aime bien comprendre ce que je fait et en plus je suis "un peu tetu"..lol!!!
je vais y arriver
quand on veut on peut
encore merci
@+
je vais y arriver
quand on veut on peut
encore merci
@+
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 févr. 2008 à 13:14
21 févr. 2008 à 13:14
Bonjour,
Je suis allé voir ton site, d'après le code source tu as un pb de codage HTML
<label>
<h4>Système d'exploitation :</h4></label>
<option value="1"></option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="2">windows xp édition familliale</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="3">Windows 98</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="4">windows 98 ME</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="5">windows 2000</option>
ect...
Il n'est pas normal que tu ais <label ><h4>Système d'exploitation :</h4></label>
à chaque ligne <option
Il faut que tu mettes ça en dehors de ta boucle while qui génére ta liste
Idem pour la liste Navigateur.
Pour ton pb, vas voir "listes déroulantes liées en Ajax" sur ce forum. J'ai déja participé à une discution sur le sujet
Je suis allé voir ton site, d'après le code source tu as un pb de codage HTML
<label>
<h4>Système d'exploitation :</h4></label>
<option value="1"></option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="2">windows xp édition familliale</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="3">Windows 98</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="4">windows 98 ME</option>
<label>
<h4>Système d'exploitation :</h4></label>
<option value="5">windows 2000</option>
ect...
Il n'est pas normal que tu ais <label ><h4>Système d'exploitation :</h4></label>
à chaque ligne <option
Il faut que tu mettes ça en dehors de ta boucle while qui génére ta liste
Idem pour la liste Navigateur.
Pour ton pb, vas voir "listes déroulantes liées en Ajax" sur ce forum. J'ai déja participé à une discution sur le sujet
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 14:05
21 févr. 2008 à 14:05
merci alain,exact c'est pas normal je viens de corriger.
je devais penser à autre chose..lol!!!!
je vais regarder le sujet ,mais ajax ca me fait peur...je debute c'est pas trop trop compliqué?
encore merci
@+
je devais penser à autre chose..lol!!!!
je vais regarder le sujet ,mais ajax ca me fait peur...je debute c'est pas trop trop compliqué?
encore merci
@+
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 17:08
21 févr. 2008 à 17:08
me revoila
alain c'est bien ce sujet que tu me parlais
http://www.commentcamarche.net/forum/affich 2188286 php ajax listes deroulantes#0
j'auaris une question
dans l'exemple de croy
<head>
<script language="javascript">
function recharge()
{
lesParams = "?pc="document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text;
window.location = "toScript.php" + lesParams;
}
</script></head>
si j'ai bien compris je peut inclure ma requete dans "toScript.php" ou je fait fausse route ?
ce qui me change dans JS c'est totalement different de php.
dans php tu a une valeur "concrete" tandis que JS cette variable on la retrouve ou ? j'arrive pas à saisir la nuance..et pourtant c'est pas faute de réfléchir..
c'ets comme tout quand on sait pas ça parait impossible ,mais je suis sur qu'en faite c'est tout simple
@+
alain c'est bien ce sujet que tu me parlais
http://www.commentcamarche.net/forum/affich 2188286 php ajax listes deroulantes#0
j'auaris une question
dans l'exemple de croy
<head>
<script language="javascript">
function recharge()
{
lesParams = "?pc="document.getElementById('pc').options[document.getElementById('pc').selectedIndex].text;
window.location = "toScript.php" + lesParams;
}
</script></head>
si j'ai bien compris je peut inclure ma requete dans "toScript.php" ou je fait fausse route ?
ce qui me change dans JS c'est totalement different de php.
dans php tu a une valeur "concrete" tandis que JS cette variable on la retrouve ou ? j'arrive pas à saisir la nuance..et pourtant c'est pas faute de réfléchir..
c'ets comme tout quand on sait pas ça parait impossible ,mais je suis sur qu'en faite c'est tout simple
@+
croy
Messages postés
453
Date d'inscription
samedi 19 janvier 2008
Statut
Membre
Dernière intervention
23 octobre 2012
114
21 févr. 2008 à 17:43
21 févr. 2008 à 17:43
Oui, ta requête sera incluse dans toScript.php en récupérant le param 'pc' par $_GET[ 'pc' ]
Si tu veux des params en plus, adapte ton script :
lesParams = "?pc=........¶m2:....¶m3.....";
En Javascript les noms de variables ne commencent pas par un $ mais il n'y a pas d'autres différences.
Ce qui est pénible avec Javascript c'est que si un pb se présente à l'exécution, il sort sans afficher de message d'erreur. ans notre cas, si tu constates que le script toScript.php n'est pas appelé, intercale des alert( "on passe ici" ) pour voir dans quelle instruction ça coince.
Si tu veux des params en plus, adapte ton script :
lesParams = "?pc=........¶m2:....¶m3.....";
En Javascript les noms de variables ne commencent pas par un $ mais il n'y a pas d'autres différences.
Ce qui est pénible avec Javascript c'est que si un pb se présente à l'exécution, il sort sans afficher de message d'erreur. ans notre cas, si tu constates que le script toScript.php n'est pas appelé, intercale des alert( "on passe ici" ) pour voir dans quelle instruction ça coince.
lewis34
Messages postés
2557
Date d'inscription
samedi 21 juillet 2007
Statut
Membre
Dernière intervention
30 mai 2015
352
21 févr. 2008 à 17:46
21 févr. 2008 à 17:46
ok merci croy
je reprends tout depuis le debut
je suis un tenace..
merci
@+
je reprends tout depuis le debut
je suis un tenace..
merci
@+
Alain_42
Messages postés
5361
Date d'inscription
dimanche 3 février 2008
Statut
Membre
Dernière intervention
13 février 2017
894
21 févr. 2008 à 17:59
21 févr. 2008 à 17:59
Me revoilà,
Oui c'est bien le bon message, tu t'en inspires et normalement ça devrait répondre à ton pb.
Utilises tu FireFox ?
si oui il y a une console d'erreur dans le menu outils, et elle est très pratique, elle te sort les erreurs javascript lors de l'éxécution. Beaucoup plus parlant que ce que te donne IE qd tu cliques en bas à gauche dans la barre d'état sur Erreurs
Oui c'est bien le bon message, tu t'en inspires et normalement ça devrait répondre à ton pb.
Utilises tu FireFox ?
si oui il y a une console d'erreur dans le menu outils, et elle est très pratique, elle te sort les erreurs javascript lors de l'éxécution. Beaucoup plus parlant que ce que te donne IE qd tu cliques en bas à gauche dans la barre d'état sur Erreurs