PHP : Afficher le contenu d'une table MySQL
Exemples de mise en oeuvre
On souhaite creer une page Web permettant d'afficher la liste des fournisseurs de la base de données dont le MCD est donné ci-dessous :
Affichage du résultat sous la forme d'un tableau
Résultat attendu
Il est nécessaire, afin d'écrire le code PHP correct, de visualiser le résultat attendu affiché dans la page Web et d'imaginer le code HTML nécessaire à la
production de ce résultat.
Code HTML à générer
<section> <h2>Liste des fournisseurs</h2> <table> <tr><th>Nom</th><th>Ville</th></tr> <tr><td>G Meubles</td><td>Arpajon</td></tr> <tr><td>B Meubles</td><td>Etampes</td></tr> <tr><td>H Meubles</td><td>Dourdan</td></tr> </table> </section>
La partie surlignée est celle qui doit être générée automatiquement en fonction du contenu de la base de données.
Code PHP : production du résultat
Je donne ci-dessous un exemple utilisant les fonctions PHP mysqli_… dans le style procédural.
<section>
<h2>Liste des fournisseurs</h2>
<table>
<tr><th>Nom</th><th>Ville</th></tr>
<?php
// Effectuer la connexion à la Base de Données
$serverName = "localhost"; // serveur local
$userName = "adminBaseMeuble"; // administrateur de la base
$password = "bonjour"; // mot de passe de l'administrateur
$dbName = "meubleFournisseur"; // nom de la base
$connexion = mysqli_connect($serverName, $userName, $password, $dbName);
if ($connexion) {
// Effectuer la requête
$query = "SELECT fou_nom, fou_ville FROM fournisseur ";
$result = mysqli_query($connexion, $query);
// Afficher les lignes du tableau en fonction de la réponse à la requête
if ($result) {
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<tr><td>".$row["fou_nom"]."</td><td>".$row["fou_ville"]."</td></tr>\n";
}
}
}
// Fermer la connexion
mysqli_close($connexion);
}
?>
</table>
</section>
Affichage du résultat sous la forme d'une liste déroulante
Il peut être utile d'afficher le résultat sous la forme d'une liste déroulante permettant par la suite d'afficher, en cliquant, sur un élément de la liste, les meubles fabriqué par un fournisseur.
Résultat attendu
Extrait du code PHP
<label for="fournisseursSelect">Sélectionnez un fournisseur : </label>
<select id="fournisseursSelect" name="fournisseursSelect">
<option value='0'></option>
<?php
// Effectuer la connexion à la Base de Données
$serverName = "localhost"; // serveur local
$userName = "adminBaseMeuble"; // administrateur de la base
$password = "bonjour"; // mot de passe de l'administrateur
$dbName = "meubleFournisseur"; // nom de la base
$connexion = mysqli_connect($serverName, $userName, $password, $dbName);
if ($connexion) {
// Effectuer la requête
$query = "SELECT fou_id, fou_nom FROM fournisseur ";
$result = mysqli_query($connexion, $query);
// Afficher les lignes du tableau en fonction de la réponse à la requête
if ($result) {
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<option value='".$row["fou_id"]."'>".$row["fou_nom"]."</option>\n";
}
}
}
// Fermer la connexion
mysqli_close($connexion);
}
?>
</select>