jeudi , 18 avril 2024
Affichage de données MySQl avec PHP

Tutoriel sur comment afficher la table de données MySQL

Après avoir créé la table et entré les données, vous aurez sûrement besoin de les afficher. C’est ce qu’on fait généralement en utilisant du code simple en HTML qui fait appel à un script PHP.

Nous commencerons avec un exemple dès le départ. Nous allons insérer des données dans une nouvelle table de la base de données.

Récupérer les données et les transférées au script PHP

Le code HTML suivant récupèrera les données à partir des boites de texte et les passera au script PHP.

<div>
<pre>&lt;form action="insert.php" method="post"&gt;
Value1: &lt;input type="text" name="field1-name" /&gt;
Value2: &lt;input type="text" name="field2-name" /&gt;
Value3: &lt;input type="text" name="field3-name" /&gt;
Value4: &lt;input type="text" name="field4-name" /&gt;
Value5: &lt;input type="text" name="field5-name" /&gt;
&lt;input type="Submit" /&gt;&lt;/form&gt;</pre>
</div>

Rentrer les données dans la base de données MySQL

La prochaine chose dont vous avez besoin, c’est un nouveau script PHP qui entrera les données dans la base de données.

Enregistrez ce script comme insert.php afin de pouvoir être reconnu par le formulaire HTML.

Maintenant que vous avez au moins une entrée dans votre base de données, vous voudrez sûrement savoir comment vous pouvez afficher ces données avec du PHP.

Afficher les données avec du PHP

La première commande que vous devrez utiliser est la déclaration SELECT FROM de MySQL.

SELECT * FROM tablename

C’est la requête MySQL de base qui indiquera au script de sélectionner toutes les entrées à partir de la table tablename. Après l’exécution de la requête, le résultat sera assigné à une variable :

<div>
<pre>$query="SELECT * FROM tablename";$result=mysql_query($query);</pre>
</div>

Tout le contenu de la table est présentement inclus dans un tableau PHP avec le nom $result. Avant de pouvoir afficher ces données, changez chaque partie en une variable distincte. Il y a deux étapes.

La première est de compter les rangées. Avant de pouvoir passer les données dans votre variable de résultat, vous devez connaitre le nombre de rangées présentes dans la base de données. Vous pourriez, bien sûr, simplement le coder en dur dans votre code, mais ce n’est pas une bonne solution étant donné que le code script devra être changé à chaque fois qu’il y a une nouvelle rangée. Vous pouvez plutôt utiliser la commande :

<div>
<pre>$num=mysql_numrows($result);</pre>
</div>

La valeur $num sera le nombre de rangées stockées dans $result. C’est ce qu’on utilisera en boucle pour avoir toutes les données affichées sur l’écran.

La seconde étape est de mettre en place la boucle. Cela prendra chaque rangée du résultat et affichera les données qui y sont stockées. Dans le code ci-dessous, $i est le nombre de fois que la boucle s’exécute. De cette manière, toutes les entrées sont affichées.

<div>
<pre>$i=0;while ($i &lt; $num) {CODE$i++;}</pre>
</div>

C’est une boucle PHP de base qui exécutera le code le nombre correct de fois. À chaque fois, $i augmentera de 1. C’est utile, vu que $i indiquera au script quelle ligne de résultats à lire. Comme la première ligne dans le résultat MySQL est 0, ça marchera correctement.

Ajouter les variables

La partie finale du script de sortie est d’assigner chaque partie de données à sa propre variable :

<div>
<pre>$variable=mysql_result($result,$i,"fieldname");</pre>
</div>

Donc, pour prendre individuellement chaque pièce de données dans notre base de données, nous utiliserons ce qui suit :

<div>
<pre>$field1-name=mysql_result($result,$i,"field1-name");
$field2-name=mysql_result($result,$i,"field2-name");
$field3-name=mysql_result($result,$i,"field3-name");
$field4-name=mysql_result($result,$i,"field4-name");
$field5-name=mysql_result($result,$i,"field5-name");</pre>
</div>

Vous n’avez pas besoin d’avoir le champ ID parce qu’il n’est pas nécessaire dans la page à afficher.

Vous pouvez à présent écrire un script complet pour afficher les données. Dans ce script, les données ne sont pas formatées lorsqu’elles sont affichées :

<div>
<pre>&lt;?php$username="nom_utilisateur";$password="mot_de_passe";
$database="nom_base_de_données";mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "impossible de se connecter à la base de données");
$query="SELECT * FROM tablename";$result=mysql_query($query);
$num=mysql_numrows($result);mysql_close();
echo "&lt;b&gt;
&lt;center&gt;Database Output&lt;/center&gt;
&lt;/b&gt;
&lt;br&gt;
&lt;br&gt;";
$i=0;while ($i &lt; $num) {$field1-name=mysql_result($result,$i,"field1-name");
$field2-name=mysql_result($result,$i,"field2-name");
$field3-name=mysql_result($result,$i,"field3-name");
$field4-name=mysql_result($result,$i,"field4-name");
$field5-name=mysql_result($result,$i,"field5-name");
echo "&lt;b&gt;
$field1-name $field2-name2&lt;/b&gt;
&lt;br&gt;
$field3-name&lt;br&gt;
$field4-name&lt;br&gt;
$field5-name&lt;hr&gt;
&lt;br&gt;";$i++;}?&gt;</pre>
</div>

Cela sort une liste de toutes les valeurs stockées dans la base de données. Ça vous donnera un résultat très basique. Ce n’est pas utile pour un web site de production. Au lieu de cela, il sera préférable si vous pouviez le formater en un tableau dans lequel vous affichez les informations.

Le formatage n’est pas compliqué. Tout ce dont vous avez besoin c’est d’utiliser du HTML pour imprimer le résultat en incluant les variables dans les bonnes zones. Le moyen le plus facile de faire ça, c’est en fermant votre tag PHP et en entrant le HTML normalement. Lorsque vous atteignez la position d’une variable, incluez-la de la manière suivante :

<div>
<pre>&lt;? echo $variablename; ?&gt;</pre>
</div>

Vous pouvez également utiliser la boucle PHP pour répéter le code approprié et l’inclure comme partie d’un plus grand tableau. Le résultat final est :

<html>
<body>
<?php$username="nom_utilisateur";$password="mot_de_passe"; $database="base_de_données";
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "impossible de se connecter à la base de données");
$query="SELECT * FROM tablename";$result=mysql_query($query);
$num=mysql_numrows($result);mysql_close();?>
<table border="0" cellspacing="2" cellpadding="2">
<tr>
<td>
<font face="Arial, Helvetica, sans-serif">Value1</font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif">Value2</font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif">Value3</font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif">Value4</font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif">Value5</font>
</td>
</tr>
<?php$i=0;while ($i < $num) {$f1=mysql_result($result,$i,"field1");
$f2=mysql_result($result,$i,"field2");$f3=mysql_result($result,$i,"field3");
$f4=mysql_result($result,$i,"field4");$f5=mysql_result($result,$i,"field5");?>
<tr>
<td>
<font face="Arial, Helvetica, sans-serif"><?php echo $f1; ?></font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font>
</td>
<td>
<font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font>
</td>
</tr>
<?php$i++;}?>
</body>
</html>

Ce code affichera le contenu de la table et ajoutera une rangée en plus pour chaque entrée dans la base de données, formatant les données à mesure qu’elles sont affichées.

Consulter aussi

Qu'est-ce que l'hébergement de podcasts ?

Qu’est-ce que l’hébergement de podcasts ?

L’hébergement de podcasts fournit l’hébergement de fichiers et le flux RSS de votre podcast. Les …

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *