Les Allergies
Alimentaires
Posez votre question Signaler

Fonction onchange sur une liste deroulante my [Résolu]

claudecs 15Messages postés 25 mars 2007Date d'inscription - Dernière réponse le 24 sept. 2007 à 23:42
Bonjour, je cherche comment utiliser la fonction on change avec une liste deroulante qui me liste une table d'une base mysql.
je m'explique le liste les données n_serveur et je souhaiterai quand je selectionne une des donnees qu'automatiquement la page se recharge et m'affiche des données correspondante a ma selection .
voici le mon script pour lister ma base :
echo "<SELECT Name=id_categorie Size=1><OPTION Value=0>Choisir la catégorie</OPTION>";
$sql= "SELECT * FROM serveur ORDER BY n_serveur ASC";
$rep= mysql_query($sql);
while($ligne_liste=mysql_fetch_array($rep)){
echo "<OPTION Value=\"".$ligne_liste['id_categorie']."\">".$ligne_liste['n_serveur']."</OPTION>";
}
echo "</SELECT>";
d'apres ce que j'ai lu il faut que j'enregistre mon resultat et que j'utilise la fonction onchange mais je ne sait pas du tout comment faire ...
please un peu d'aide .
merci
Lire la suite 

Fonction onchange sur une liste deroulante my »

12 réponses
Réponse
+0
moins plus
Tu ajoutes onchange :
<SELECT Name=id_categorie Size=1 onchange='submit()'>

Puis tu utilises la variable id_categorie dans la page chargée par ton formulaire
claudecs- 25 mars 2007 à 19:01
czmaster pourrais tu me dire comment integrer cette fonction stp .
Ajouter un commentaire
Réponse
+0
moins plus
snif personne pour m'aider ... svp
Ajouter un commentaire
Réponse
+0
moins plus
please help
je voudrais savoir comment utiliser une liste déroulante pour envoyer un mail à la personne sélectionnée à l'aide de la liste déroulante.
je suppose qu'il faut une liste déroulante pour sélectionner le destinataire et aussi faire le lien avec l'adresse mail de cette personne
j'ai cherché et pas trouvé y aurait -il quelqu'un pour m'aider
Ajouter un commentaire
Réponse
-1
moins plus
salut,

j'ai peur que ce soit un peu court tout de même !

regarde cet article qui te montres ce que l'on peut faire avec les formulaires. ça c'est pour la théorie. pour la pratique tu peux utiliser la méthode de czmaster. mais dans ce cas c'est le script cible du formulaire qui va s'exécuter alors que tu peux peut-être afficher le détail sans recharger la page.

l'évènement onChange
Ajouter un commentaire
Réponse
-1
moins plus
merci pour ses reponses suite à la premiere reponse j'ai modifier mon script comme ceci .
echo "<SELECT Name=id_categorie Size=1><OPTION Value=0>Choisir la catégorie</OPTION>";
$sql= "SELECT * FROM gserveur ORDER BY n_serveur ASC";
$rep= mysql_query($sql);
while($ligne_liste=mysql_fetch_array($rep)){
echo "<OPTION Value=\"".$ligne_liste['id_categorie']."\">".$ligne_liste['n_serveur']."</OPTION>";
}
echo "<SELECT Name=id_categorie Size=1 onchange='submit()'>";
echo "</SELECT>";


?>
<?php
$gserv= "SELECT * FROM gserveur,serveur where serveur.n_serveur=['id_categorie']";
echo $gserv['ip_serveur']; // la je veut afficher la variable de la table serveur qui correspond à mon id_categorie qui lui correspond à mon n_serveur de la table gserveur
$ip=$gserv['ip_serveur']; // la je veut la stocker pour l'utiliser plus tard
?>

mais quand je selectionne dans ma liste une valaur rien ne se passe et ma baleur afficher est s ??

pourriez vous m'aider ç corriger mon script .

je vais aller voir de suite l'article conseiller sur le lien juste au dessus
Dalida- 25 mars 2007 à 19:14
salut,

au changement (onChange), tu soumets (submit). mais tu soumets quoi ???

ton <SELECT> doit être contenu dans un <FORM> dont l'attribut 'action' permet de déterminer le script à exécuter par la soumission. 'method' doit être gardé.
<FORM  method="post" action="mon_script.php">
        <SELECT></SELECT>
</FORM>
claudecs- 25 mars 2007 à 20:24
voila mon script pour les doublons et requete qui marche impec ...

as ceci je voudrais tous simplement grace à la fonction onchange afficher sur la mm page des valeurs d'une autre table en fonction de ma selection de ma listederoulante.
<?php

$login = $_SESSION['login'];

mysql_select_db($database_dbprotect, $dbprotect);

echo "<SELECT Name=id_categorie Size=1 onchange='submit()'><OPTION Value=0>Choisir la catégorie</OPTION>";
$sql= "SELECT * FROM gserveur WHERE login='$login' ORDER BY n_serveur ASC";
$rep= mysql_query($sql);
while($ligne_liste=mysql_fetch_array($rep)){
echo "<OPTION Value=\"".$ligne_liste['id_categorie']."\">".$ligne_liste['n_serveur']."</OPTION>";
}
echo "</SELECT>";
?>
<span class="Style8"><?php echo $_SESSION['prenom'];
echo "$login"
?>


à ceci je veut enregistrer la donner recu de ma liste deroulante, afin de la comparer à un autre table our en afficher les valeurs sur la mm page ...
j'ai essayer de rajouter pour le onchange ceci :
echo "<SELECT Name=id_categorie Size=1 onchange='submit()'><OPTION Value=0>Choisir la catégorie</OPTION>";
ben ca marche pas ...

ensuite pour enregistrer ma vaeur de liste deroulante et l'afficher j'ai rajouter ceci :
id_categorie = $n_serveur;
echo "$n_serveur"
ben ca marche pas non plus..

snif le monde est trop injuste ...
Ajouter un commentaire
Réponse
-1
moins plus
A une autre petit chose dans ma liste deroulante il apparait des doublons comment puis je l'eviter ?

pour eviter ses doublons j'ai ajouter ue condition :
$sql= "SELECT * FROM gserveur,serveur WHERE gserveur.login= $_SESSION['login'] ORDER BY n_serveur ASC";

pour avoir dans mon menu deroulant uniquement les valeurs n_serveur de ma table g_serveur qui sont associer au login qui a etait declarer dans la session de la page precedente .

mais la big probleme sa me bug tous .. snif je suis paumer ...

pour mon premier script dure dure ...

je veins de modifier par ceci :
$sql= "SELECT * FROM gserveur,serveur WHERE gserveur.login=$'login' ORDER BY n_serveur ASC";

la plus d'erreur mais ma liste est vide alors qu'il y as bien de valeurs login identique sur les lignes de n_serveur ...

grrr
Dalida- 25 mars 2007 à 19:23
il faut ajouter la clause 'distinct' à ton SELECT.
Ajouter un commentaire
Réponse
-1
moins plus
Voila etand un peu perdu.. mm beaucoup , je viens de mettre tous se que je souhaite faire dans moin script avec l'explication du pourquoi du comment
<?php
mysql_select_db($database_dbprotect, $dbprotect);
echo "<SELECT Name=id_categorie Size=1 onchange='submit()'><OPTION Value=0>Choisir la catégorie</OPTION>";
$sql= "SELECT * FROM gserveur,serveur WHERE gserveur.login=$_SESSION['login'] ORDER BY n_serveur ASC"; //affichage des valeurs de n_serveur de la table gserver et dont le login de la table gserver correspond à celui enregistrer dans la session de la page precedente .
$rep= mysql_query($sql);
while($ligne_liste=mysql_fetch_array($rep)){
echo "<OPTION Value=\"".$ligne_liste['id_categorie']."\">".$ligne_liste['gserveur.n_serveur']."</OPTION>";

}
echo "</SELECT>";


?>
<?php
$gserv= "SELECT * FROM gserveur,serveur where serveur.n_serveur=['id_categorie']";

$ip=$gserv['ip_serveur']; // la je veut stocker la variable de la table serveur qui correspond à mon id_categorie qui lui correspond à mon n_serveur de la table gserveur ps n_serveur exsite dans ma table serveur et dans ma table gserveur.

echo $ip['ip_serveur']; //la je l'affiche
echo $_SESSION['login']

//?>
.. mais bien sur rien ne marche.
la seule chose qui fonctionne et qui correspond c'est quand je lance seul cette ligne
echo $_SESSION['login']
sa me met bien mon login de connection...

j'espere que vous arriver a comprendre le but de mon script car j'ai dans ma table serveur une multitude re donnee a recuperer pour traiter la suite ...
merci de vos aides
Ajouter un commentaire
Réponse
-1
moins plus
merci dalida tu m'as mit sur la voi en effet mes balise etait envoléé ..
voici donc le code qui semble fonctionner puisque il apparait dans ma barre d'addresse sous forme de menu= mon g_serveur une fois que j'ai selectionner mon n_serveur dans la liste.

<form>
<?php
$login = $_SESSION['login'];
mysql_select_db($database_dbprotect, $dbprotect);
echo "<SELECT Name=menu Size=1 onchange='this.form.submit()'><OPTION Value=0>Choisir le serveur</OPTION>";
$sql= "SELECT * FROM gserveur WHERE login='$login' ORDER BY n_serveur ASC";
$rep= mysql_query($sql);
while($ligne_liste=mysql_fetch_array($rep)){
echo "<OPTION Value=\"".$ligne_liste['g_serveur']."\">".$ligne_liste['n_serveur']."</OPTION>";
}
echo "</SELECT>";
?>
</form>
<span class="Style8"><?php echo $_SESSION['prenom']; ?>
<span class="Style8"><?php echo "$login"; ?>
<p align="left" class="Style4 Style3"><a href="index.php?erreur=logout"><strong>Vous déconnecter</strong></a></p>

Par contre je suis toujours perdu pour l'affichage et l'enregistrement :

voila c'est simple je voudrais :
1: Que dans mon menu deroulant quand ma selection est faire qu'elle reste afficher et que cela ne revienne pas au premier enregistrement de la base de donné.

2: je n'arrive pas as enregistrer le resultat de ma base de donnée dans le but de l'utiliser dans une deuxieme requete mysql ...

j'espere que vous pourriez m'aider la dessus car je suis news et des heures des fois ne suffise pas à trouver ...
Ajouter un commentaire
Ce document intitulé « fonction onchange sur une liste deroulante my » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?