| Menu deroulant et mysql recuperer les infos $ par claudecs |
lundi 26 mars 2007 à 17:28:42 |
Configuration: Windows XP Internet Explorer 7.0
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.">".$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
|
| 07/01 17h03 | php menu déroulante mysql | Webmastering | 21/02 21h13 | 12 |
| 17/04 12h33 | menu deroulant mysql/javascript | Webmastering | 13/06 09h40 | 2 |
| 28/04 08h30 | recuperer info liste déroulante | Webmastering | 28/04 08h58 | 1 |
| 25/04 14h43 | récupere info liste déroulante pour insertion | Webmastering | 28/04 08h13 | 10 |
![]() | Daemon 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 |
![]() | HP 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 |
![]() | MySQL - 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 |
![]() | Jargon 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 |