rss
Menu deroulant et mysql recuperer les infos $
par claudecs
 Fil de Discussions
Statut : Résolu
lundi 26 mars 2007 à 17:28:42
Bonjour a tous je viens de faire un menu deroulant et je souhaite enregistrer les donnees de celui ci en $quelques

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_serv­eur']."</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 ...merci à tous...
Configuration: Windows XP
Internet Explorer 7.0
Répondre à claudecs  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par Reivax962, le lundi 26 mars 2007 à 19:57:13 Fil de Discussions
Bonjour,

Alors, pour ta première question, c'est assez simple. Lorsque ton menu déroulant est modifié, le formulaire va être soumis. La page va donc être réaffichée. Réaffichée comment ? Exactement de la même façon ! Car à aucun moment tu n'as demandé à php de garder en mémoire la valeur qui a été sélectionnée.

La première étape pour corriger ton code serait de modifier ta balise <form>. En effet, il faut plus d'informations pour qu'elle fonctionne correctement.
Déjà, lui dire que faire à la soumission : action="page.php". Il faut bien sûr mettre ici la page que tu souhaites voir afficher à la soumission, et si j'ai bien compris, c'est la page en cours. Remets donc son nom à la place de page.php.
Ensuite, il faut lui dire comment transmettre les informations. La méthode recommendée est la méthode POST (je te laisse rechercher si tu veux en savoir plus) : method="post".

Ensuite, une fois que l'on a ça, on rentre dans le code php en lui-même.
Pour récupérer la valeur d'un champ d'un formulaire posté, il faut utiliser le tableau global $_POST. Et vérifier, auparavant, qu'elle existe bien. Par exemple, ici, le serveur sélectionné est $_POST['menu'].
Le mieux est d'affecté cette valeur à une variable plus simple, par exemple $serveur.
Ce qui donne :
if (isset($_POST['menu'])) $server = $_POST['menu'];
Tu pourras ensuite l'utiliser comme tu le souhaites (ce qui répond à ton point 2)

Ensuite, comment garder sélectionné l'option qui vient d'être choisie ? En html, cela passe par l'attribut selected="selected".
Donc, très logiquement, on écrire que "si le champ <option> en cours d'écriture est le même que celui qui a été sélectionné, alors on rajoute l'attribut selected".


Bon, voilà pour les explications !

Maintenant, le code :
<form action="page.php" method="post">
<?php
$login = $_SESSION['login'];
if (isset($_POST['menu']))
    $serveur = $_POST['menu'];
else
    $serveur = "";

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))
{
    $selected = "";
    if ($serveur == $ligne_liste['g_serveur'])
        $selected = " selected='selected' ";
    echo "<option Value=\"".$ligne_liste['g_serveur']."\"".$selected.">&quo­t;.$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> 
Voilà !

Xavier
Répondre à Reivax962

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Par claudecs, le lundi 26 mars 2007 à 21:39:01 Fil de Discussions 
Super merci à toi ...
Merci beaucoup d'avoir pris le temps de me lire et surtout d'y repondre en francais et en script ...
ca marche impec.
j'ai plus qu'as comparer cette valeurs a d'autres base et op ...
merci encore
Répondre à claudecs
Discussions pertinentes trouvées dans le forum
07/01 17h03php menu déroulante mysqlWebmastering21/02 21h1312
17/04 12h33menu deroulant mysql/javascriptWebmastering13/06 09h402
28/04 08h30recuperer info liste déroulanteWebmastering28/04 08h581
25/04 14h43récupere info liste déroulante pour insertionWebmastering28/04 08h1310
Plus de discussions sur « Menu deroulant et mysql recuperer les infos $ » Discussion en cours Discussion fermée Problème résolu
Logiciels pertinents trouvés dans les téléchargements
Télécharger Daemon Tools Lite 4.12.4Daemon Tools Lite - Daemon Tools est un émulateur de lecteur CD/DVD, c'est-à-dire un outil capable de créer un lecteur CD ou un lecteur DVD...Catégorie: Gravure
Licence: Freeware/gratuit
Télécharger HP USB Disk Storage Format Tool 2.0.6HP USB Disk Storage Format Tool - HP USB Disk Storage Format Tool est un petit utilitaire permettant de formater une clé USB ou un lecteur MP4 . Il permet...Catégorie: Formatage/Partitionnement
Licence: Freeware/gratuit
Télécharger MySQL 5.0.51bMySQL - MySQL est une des systèmes de gestion de bases de données le plus répandu au monde. Catégorie: Bases de données
Licence: Open Source
Télécharger Jargon Informatique  1.3.6Jargon Informatique - L'informatique est omniprésente dans notre vie quotidienne et elle possède son jargon bien à elle. Jargon Informatique est...Catégorie: Bureautique
Licence: Open Source
Plus de logiciels gratuits sur « Menu deroulant et mysql recuperer les infos $ »
Répondre
Titre du message :
Votre pseudo:
Votre email :
Message: 
  •  
  •  
Options: Recevoir les réponses par mail.
 

Aide