Easy-Micro


ESPACEMEMBRE PHP-MySQL
Affichage auto

Afficher automatiquement la table "clients"

Toujours le même code PHP que la partie 2, mais cette fois pour un affichage automatique!

Un code compatible pour n'importe quelle table. Il suffit juste de changer le contenu des 5 premières variables ($base, $user, $pass, $serveur et $table).

En rouge, un rajout pour tester si la table n'est pas vide.

<?php
$base = "mabase";
$user = "root";
$pass = "mysql"; // ou bien '' suivant votre version
$serveur = "localhost";

$table = "clients";

$connexion = mysql_connect($serveur,$user,$pass)
or die("Connexion impossible: ".mysql_error());
mysql_select_db($base);
$requete = "SELECT * FROM ".$table;
$resultat = mysql_query($requete);
if (!$resultat) { echo "<html><body>Problème de requête</body></html>"; }
else {
?>
<html>
<body>
<?php
// mysql_num_rows retourne le nombre de ligne d'un résultat
$nbrligne = mysql_num_rows($resultat);
if ($nbrligne == 0) { echo "Table vide!"; } else {
?>

<table border="1" width="95%" align="center" cellpadding="3">
<tr style="background-color:#ffffcc;">
<?php
// Affichage des en-têtes de collones
for ($i = 0; $i < mysql_num_fields($resultat); $i++) {
echo "<th>".mysql_field_name($resultat,$i)."</th>";
} ?>
</tr>
<?php
// Affichage du contenu de la table
while($ligne = mysql_fetch_array($resultat)) {
echo "<tr>";
for ($i = 0; $i < mysql_num_fields($resultat); $i++) {
echo "<td>".$ligne[$i]."</td>"; } // fin du for
echo "</tr>";
} // fin du while
?>
</table>
<?php
} // fin du if table vide
?>

</body></html>
<?php
} // fin du else du début (Problème de requête)
mysql_free_result($resultat); // libère la mémoire - facultatif
mysql_close($connexion); // facultatif
?>

Pour aller plus loin...

Pour afficher les noms des champs de notre table avec toute les lettre en majuscule (strtoupper) et en enlevant les 7 dernières lettres des noms (substr):
<?php
for ($i = 0; $i < mysql_num_fields($resultat); $i++) {
echo "<th>".substr(strtoupper(mysql_field_name($resultat,$i)),0,strlen(mysql_field_name($resultat,$i))-7)."</th>";
}
?>

Toujours plus loin...

Pour optimiser - et sécuriser - l'affichage des noms de colonnes,
on peut utiliser des alias de nom dans la requête, exemple :

$requete = "SELECT civilite as Civilité, nom as Nom, prenom as Prénom, date_de_naissance as 'Date de naissance' FROM clients";

INFOS:
La fonction PHP "mysql_query" exécute une requête SQL.
La fonction PHP "mysql_num_fields" retourne le nombre de champs.
La fonction PHP "mysql_field_name" retourne le nom de collone de son indice.
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 ]
Samedi 24 août 2019 - Semaine 34 - Saint Barthélémy (Demain: Saint Louis)
Aujourd'hui, c'est l'anniversaire de Jean Michel Jarre (1948-71 ans), compositeur français de musique électronique (Oxygène). Autre 24 août: 1572 - Massacre des protestants par les catholiques.
Haut de page Easy-Micro