SUIVEZ NOTRE CHAINE YOUTUBE:
https://www.youtube.com/channel/UCCITRMWPcElh-96wCS3EyUg

abdelouafi

Administrator
Remarque: Cliquez sur l'image pour la visualiser
On va voir Comment construire une liste de sélection à partir d'une base de données
Soit la table sivante:
La table se présent comme ceci :
+-----+---------------+
| num | Nom du dép |
+-----+---------------+
| 01 | Dept1|
| 02 | Dept2 |
| 03 | Dept3|
| 04 | Dept4. |
| .. | ... |
+-----+---------------+

'numDep' et 'nomDep' sont les deux champs de la table dans notre BD

Notre objectif est d'obteni ceci, l'utilisateur choisit dans la liste un nom de département et nous nous traitons ce choix par son identifiant-son numéro : :
par le code HTML suivant :
Code:
<SELECT NAME="lstDep">
    <OPTION VALUE="01">Dept1
    <OPTION VALUE="02" SELECTED>Dept2
    <OPTION VALUE="03">Dept3
</SELECT>

Le code PHP pour les récupérer est:

Code:
<?php
// connexion à la base
$Host = "serveur";
$User = "user";
$Password = "pass";
$Database = "Db";

$idConnect = mysql_connect( $Host, $User, $Password)
             or die( "Connexion impossible.");
$db = mysql_select_db( $Database, $idConnect)
             or die( "Accès base impossible.");
// Requête SQL
$rqSql = "SELECT numDep, nomDep FROM Dept ORDER BY           numDep ASC";
// Exécution de la requête
$result = mysql_query( $rqSql, $idConnect)
             or die( "Exécution requête impossible.");
mysql_close( $idConnect);

// Construction de la chaîne de caractères qui fait la // liste

$ld = "<SELECT NAME='lstDep'>";
$ld .= "<OPTION VALUE=0>Choisissez</OPTION>";
// On boucle sur la table
while ( $row = mysql_fetch_array( $result)) {
    // $row est un tableau associatif
    // les éléments sont «indicés» par les noms
    // des colonnes. Je préfère cette technique à celle
    // des indices numériques..on ajoute une colonne..
    $mumDep = $row["numDep"];
    $nomDep = $row["nomDep"];
    $ld .= "<OPTION VALUE='$numDep'>$nomdep</OPTION>";
}
$ld .= "</SELECT>";
mysql_close( $idConnect);
?>


insérer donc notre liste déroulante entre les balises de formulaires de la façon suivante:
Code:
<?php
print $ld;
?>
 
Top