Easy-Micro


ESPACEMEMBRE PHP-MySQL
Menu déroulant

Afficher la table "clients" dans un menu déroulant

Cet exemple est d'autant plus important que le nombre de résultat d'une requête est souvent inconnu et parfois très long. Objectif: afficher les noms des clients dans un menu déroulant.

<?php
$base = "mabase";
$user = "root";
$pass = "mysql";
$serveur = "localhost";

mysql_connect($serveur,$user,$pass)
or die("Connexion impossible: ".mysql_error());
mysql_select_db($base);
$requete = "SELECT nom FROM clients";
$resultat = mysql_query($requete);
if (!$resultat) { echo "<html><body>Problème de requête</body></html>"; }
else {
?>
<html>
<body>

<form method="post" name="monformulaire" action="traitement_modif.php">
Nom des clients :
<select name="nom">
<option value="choix">Choisir un nom</option>
<?php
// Affichage du contenu de la table "clients"
while($ligne = mysql_fetch_array($resultat)) {
echo "<option value='".$ligne['nom']."'>".$ligne['nom']."</option>";
}
// remet le pointeur du mysql_fetch_array à 0 (facultatif mais nécessaire si plusieurs mysql_fetch_array)
mysql_data_seek($resultat,0);
?>
</select>
</form>

</body>
</html>
<?php } // fin du else
?>

Exemple si le formulaire utilise la methode GET (method="GET")

Le fichier traitement_modif.php :
<?php
// On récupère le champ du select par un GET (car method GET sur le formulaire)
if (isset($_GET['noms'])) { $noms = $_GET['noms']; }

// redirection vers affichage avec envoie du nom du client
header("Location: index.php?page=clients&lenom=".$noms);
?>

La page qui affiche la table récupère le nom via un GET et fait une requete avec la valeur de ce GET comme ceci :

Contenu du fichier affichage_table.php :
<?php
if (isset($_GET['lenom'])) {
$requete = "SELECT * FROM clients WHERE nom_client = ".$_GET['lenom'].";
}
else {
$requete = "SELECT * FROM clients";
}

... patali, patala...
?>

Note : si vous voulez que votre menu déroulant ce déclanche automatiquement, rajoutez un onChange dans votre balise SELECT comme ceci : onchange="this.form.submit();"

INFOS:
La fonction PHP "mysql_connect" se connecte au serveur.
La fonction PHP "mysql_query" exécute une requête SQL.
La fonction PHP "mysql_fetch_array" retourne une ligne de résultat.

ATTENTION: suivant la version de EasyPHP, le mot de passe du serveur MySQL est soit vide, soit 'mysql'.


Suivez les aventures des skippers aquitains sur EasyVoile.com
Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]
Mercredi 16 janvier 2019 - Semaine 03 - Saint Marcel (Demain: Sainte Roseline)
Aujourd'hui, c'est l'anniversaire de Richard Bohringer (1942-77 ans), acteur (subway, Diva, Le grand chemin...), réalisateur (2006 : C'est beau une ville la nuit, d'après son livre publié en 1988), chanteur et écrivain français. Autre 16 janvier: 1920 - L'alcool est prohibé aux Etats-Unis.
Haut de page Easy-Micro