Vous êtes sur la page 1sur 2

UBBA/FMI – TP module CRA3T – Master 1 informatique Décisionnelle – 2019/2020

Travaux Pratiques Série 3 : Application 3Tiers en HTML, JS, PHP, Apache, MySql
Outils nécessaires : NotePad++, WampServer2.4, Navigateur, form.html, save.php.

IHM Traitements locaux Traitements globaux Données


HTML JS PHP, Apache MySql
1- Préparez les deux fichiers du TP1 et TP2 (form.html, save.php), on veut modifier save.php pour qu’il
puisse afficher la liste des personnes de la table personne en conservant le rôle principal de la page qui est
l’enregistrement.
2- Pour afficher un tableau statique HTML en PHP en peut utiliser ce code
echo "<table border=\"1\" >\n <caption>Liste des personnes </caption>
<th> Nom </th> <th> Prénom </th> <th> Email </th> <th> Age </th>" ;
echo "<tr> <td>nono</td> <td>bobo</td> <td>nono@bobo.co</td> <td bgcolor=\"#00FF00\">20</td>";
echo "<tr> <td>lolo</td> <td>jojo</td> <td>lolo@jojo.co</td> <td bgcolor=\"#00FF00\">25</td>";
echo "<tr> <td>yoyo</td> <td>roro</td> <td>yoyo@yoyo.co</td> <td bgcolor=\"#00FF00\">22</td>";
echo "</table>"; (voir figure)
3- Le dernier tableau doit être dynamique selon le contenu de la table personne et le résultat de la requête
pour cela :
a. Sélectionner les enregistrements de la table personne $result = mysql_query("SELECT * FROM personne");
b. Afficher les résultats par while ($row = mysql_fetch_row($result)) { echo "$row[0] $row[1] $row[2]}
c. Maintenant essayer d’intégrer cette boucle avec le tableau statique
4- On veut ajouter deux liens pour chaque enregistrement dans notre table, un lien pour modifier et un
autre pour supprimer, on peut considérer le nom et prénom comme clé, pour cela :
a. Pour le lien modifier ajouter à la boucle cette ligne :
echo "<th> <a href=\"edit.php?nom=$row[0]&prenom=$row[1]&email=$row[2]&age=$row[3]\">Modifier</a></th>";
b. Pour le lien supprimer ajouter à la boucle cette ligne :
echo "<th> <a href=\"delete.php?nom=$row[0]&prenom=$row[1]\">Supprimer</a></th>";
c. Créer la page edit.php qui contient un formulaire pour récupérer les valeurs de l’enregistrement à
modifier, n’oublier pas de modifier save.php pour accepter la modification,
d. Créer la page delete.php pour supprimer l’enregistrement sélectionné
5- Code possible de edit.php (voir figure 2):
<?php
$n=$_GET['nom'];
$p=$_GET['prenom'];
$e=$_GET['email'];
$a=$_GET['age'];
echo " <FORM Method=\"POST\" action = save.php>";
echo "Nom : <INPUT type=text size=20 name= nom value = $n><br>";
echo "Prénom : <INPUT type=text size=20 name= prenom value = $p><br>";
echo "EMail : <INPUT type=text size=20 name= email value = $e><br>";
echo "Age : <INPUT type=text size=20 name= age value = $a><br>";
echo " <INPUT type=submit value=Modifier>";
echo " </FORM>"; Figure 1Page save.php
?>
6- Code possible de save.php (voir Figure 1):
<?php
$n=$_POST['nom'];
$p=$_POST['prenom'];
$e=$_POST['email'];
$a=$_POST['age'];

$con = mysql_connect('localhost', 'root', '');


Figure 2Page Edit.php
if (!$con) die ('prb de connexion MYSQL :'. mysql_error());

$db = mysql_select_db('mydb',$con);
if(!$db) die('prb de base de données' . mysql_error());

$result = mysql_query("update personne set email='$e',age='$a' where nom='$n' and prenom = '$p'");
$row = mysql_affected_rows();
if (($result)) {
if ($row != 0) {
echo "Mise à jour effectuée avec succes";
} else {
$result = mysql_query("INSERT INTO personne VALUES('$n', '$p','$e',$a)");
if(!$result) die ('erreur SQL :'. mysql_error());
echo 'Vos informations ont été ajoutées.'; }
}
$result = mysql_query("SELECT * FROM personne");
echo "<table border=\"1\" >\n
<caption>Liste des personnes </caption>

<th> Nom </th>


<th> Prénom </th>
<th> Email </th>
<th> Age </th>" ;
while ($row = mysql_fetch_row($result)){
echo "<tr>
<td>$row[0]</td>
<td>$row[1]</td> Figure 3Page delete.php
<td>$row[2]</td>
<td bgcolor=\"#00FF00\">$row[3]</td>";
echo "<th> <a
href=\"edit.php?nom=$row[0]&prenom=$row[1]&email=$row[2]&age=$row[3]\">Modifier</a></th>";
echo "<th> <a href=\"delete.php?nom=$row[0]&prenom=$row[1]\">Supprimer</a></th>";

}
echo "</table>";
mysql_close();
?>
7- Code possible de delete.php (voir figure 3) :
<?php
$n=$_GET['nom'];
$p=$_GET['prenom'];

$con = mysql_connect('localhost', 'root', '');


if (!$con) die ('prb de connexion MYSQL :'. mysql_error());

$db = mysql_select_db('mydb',$con);
if(!$db) die('prb de base de données' . mysql_error());

$result = mysql_query("delete from personne where nom='$n' and prenom = '$p'");


if(!$result) die ('erreur SQL :'. mysql_error());
echo " l'enregistrement a été supprimé avec succé !"; ?>

Vous aimerez peut-être aussi