Problème javascript + liste déroulante + requête SQL [Résolu]

Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
- - Dernière réponse : exorzist
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
- 23 janv. 2009 à 16:30
Bonjour, voilà je suis bloqué depuis un bon moment maintenant:
en fait je veux pouvoir, au changement dans une liste déroulante,
récupérer son value afin, par la suite, de pouvoir récupérer des
données présent dans une base de données et les insérer dans mon champs
texte. En gros j'utilise une requête sql:

$sqlquery="select mailchef from glpi_operation where id=(VALUE DE LA LISTE DEROULANTE);


qui utilise le value de la liste déroulante.

Je met le reste du code que j'ai pour l'instant (il ne contient pas de fonctions javascript encore puisque je ne sais pas quoi utiliser )

Code :
<?php
echo"<TR><TH>Operation:
</TH>";
$sqldb=mysql_select_db($sql_DB,$connexion);
$sqlquery="select * from TABLE";
$results=mysql_query($sqlquery);
echo"<TD><select name='operation' id='operation'><option value='-1'>Choisir une operation</option>";
while($ligne = mysql_fetch_array($results))
{
echo "<option value='".$ligne["id"]."'>".$ligne["libelle"]."</option>";
}

echo"</select></TD><TD>";
 
echo'
';
$sqlquery="select mailchef from glpi_operation where id=(VALUE DE LA LISTE DEROULANTE)";
$results= mysql_query($sqlquery);
$row=mysql_fetch_array($results);
addslashes($row['0']);
echo"<CENTER>Mail du chef de vente:
</CENTER>";
echo"<CENTER>.$row['0']."'></CENTER>";
echo"
</TD>";
?>
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
3
Merci
???  effectivement peut-être pas de rapport à priori
quoique....

si ça se trouve, c'est moi qui ne percute pas ?!???
afficher la page html résultante et nous mettre
l'extrait nécessaire ! et pas le php  !!!!
en nous disant où ça coince....

mais si j'ai saisi, c'est la manière de dialoguer/communiquer
entre le php et le html/javascript qui n'est pas compris

          [mon Site] [M'écrire]   Bul         

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 188 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bul3
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
bonjour,
t'es sûr que c'est un souci javascript ?
tout ce que nous nous met ici c'est du php, voire du sql...

maintenant pour
>>...au changement dans une liste déroulante, récupérer son value...
onchange sur la balise select
son value c'est : cette balise select.options[cette balise select.selectedIndex].value

Cordialement

          [mon Site] [M'écrire] Bul         
Commenter la réponse de Bul3
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
Justement je sais qu'il n'y a pas de javascript. En fait je demande si on doit utiliser du javascript pour pouvoir récupérer le value de la liste déroulante afin de pouvoir l'utiliser dans ma requête SQL? ou je me trompe completement?
Commenter la réponse de exorzist
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
bah.. est transmis au php les value des balises qui ont un name
pour la balise select c'est l'option selectionnée
donc, si le select se nomme toto et que le form qui le contient
a action="post", le php gérera $_POST['toto']
nul besoin de javascript ici
          [mon Site] [M'écrire] Bul         
Commenter la réponse de Bul3
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
a ba ok merci bien 
Commenter la réponse de exorzist
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
A non ça ne fonctionne pas car en fait la requête SQL est sur la même page que la liste déroulante.
Ce que ça doit me donner en fait c'est que: lorsqu'on change dans la liste déroulante, cela me mette à jour dans le input type='text' le mail du chef. Et pour récupérer ce mail du chef j'utilise la requête SQL
Commenter la réponse de exorzist
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
>>A non ça ne fonctionne pas car en fait la requête SQL est sur la même page que la liste déroulante.
???
je pense que tu n'as pas pigé comment on communique entre mtml/javascript et php
ou client/serveur.. comme tu veux
le select est sur une page html. le php, le serveur, on ne connait plus
pour communiquer avec le sql/php... il faut renvoyer un formulaire,
ou changer l'url ( ou ajax, mais ne parlons pas de ça pour l'instant ! )

si tu es coté serveur, le php créé la page html ( donc ta requête sql fait la ! )

pour une ch'tiote explication du comment ça se déroule : regarde ici

Cordialement[mon Site][M'écrire]Bul
Commenter la réponse de Bul3
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
je me suis peut-être mal exprimé (sûrement même... )
je vais expliquer en détail:
j'ai donc créé une liste déroulante sur la page formulaire.php que je rempli à partir d'une base de données:

$sqldb=mysql_select_db($sql_DB,$connexion);
                                                         
$sqlquery="select * from glpi_operation";     
                                                    
$results= mysql_query($sqlquery);  
                                                                  
echo"<TD><select name='operation' id='operation' onchange='go(this.value)'><option value='-1'>Choisir une operation</option>";

while($ligne = mysql_fetch_array($results))
{
       echo "<option value='".$ligne["id"]."'>".$ligne["libelle"]."</option>";
 }

sur la même page formulaire.php j'ai un input type='text' que je renseigne également à partir d'une base de données:
echo'
';
                $sqlquery="select mailchef from glpi_operation  where id=(VALUE DE LA LISTE DEROULANTE)";                                                            $results= mysql_query($sqlquery);
                $row=mysql_fetch_array($results);
                addslashes($row['0']);
                echo"<CENTER>Mail du chef  de vente:
</CENTER>";
                echo"<CENTER></CENTER>";  echo"
</TD>";

Vous remarquez que pour éxecuter la requête SQL il me faut le value de la liste déroulante. Hors puisque on change tout le temps de value (en changeant ce qu'il y a a l'intérieur de la liste déroulante, me faut-il une fonction javascript qui, lorsque l'on change de ligne dans la liste déroulante, récupère le value et mette à jour du coups mon input type='text' en refaisant la requête SQL? Ou es-ce que ce n'est pas possible tout simplement?
Merci
Commenter la réponse de exorzist
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
je ne sais pas si je me suis mieux exprimé...
Commenter la réponse de exorzist
Messages postés
4934
Date d'inscription
samedi 1 juillet 2006
Statut
Membre
Dernière intervention
2 février 2015
7
0
Merci
prenez le temps de relire...

>>(VALUE DE LA LISTE DEROULANTE)
donc... la sélection se fait coté client
par l'utilisateur, quand la page est affichée.
or... là vous êtes coté serveur.
donc, rien n'est affiché, la page html
n'existe même pas encore
l'utilisateur ne peut rien faire, il n'a rien sur
son écran, pas la main au moins

reregardez mes exemplcations ( ou d'autres, ça
existe partout )
@+
Commenter la réponse de Bul3
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
arf a oui j'ai oublié cette fonction javascript qui n'a pas de rapport mais bon on sait jamais:

<script language='javascript'>
function go(texte)
{
if (texte=="-1")
document.getElementById("test").style.visibility= 'hidden';
else
document.getElementById("test").style.visibility= 'visible';
}
</script>
Commenter la réponse de exorzist
Messages postés
12
Date d'inscription
mardi 17 juin 2008
Statut
Membre
Dernière intervention
23 janvier 2009
0
Merci
non mais pas de problème finalement je n'aurai pas besoin de faire cela donc merci quand même d'avoir répondu si rapidement... cela restera un mystère
Commenter la réponse de exorzist