Vous êtes sur la page 1sur 6

PHP/MYSQL 4STI

TP PHP N°3

Objectifs :
Dans ce TP on se propose d’apprendre comment Manipuler des données (Insérer, modifier,
supprimer et afficher) dans une table d’une BD
Travail demandé :
1. Créer la base de donnée « Bibliotheque ». Dans cette base créer la table « Livre » ayant la
structure suivante :

2. Dans le répertoire C:\Program Files\EasyPHP-5.3.6.0\www créer un dossier de


travail que vous nommez « Bibliothèque ».
Tous les fichiers crées doivent être enregistrés dans ce dossier
3. Créer la page « Index.html » en respectant la disposition suivante :

Zone ou s’effectue l’affichage des pages web. Elle contient par


défaut la page « ajout.html »
<main>
<iframe name="aff" src="ajout.html" frameborder="0"
width="100%" height="100%"> </iframe></main>

Zone contenant les boutons de navigation pour afficher les différentes pages
du site
<nav>
<a href="ajout.html" target="aff">Ajouter un livre</a>
<a href="modifier.html" target="aff">Modifier un livre</a>
<a href="Supprimer.html" target="aff">Supprimer un livre</a>
<a href="afficher.php" target="aff">Afficher les livres</a>
</nav>

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 1 | 6


PHP/MYSQL 4STI
4. Créer la page « Ajout.html » contenant le formulaire permettant d’ajouter les
propriétés d’un livre (voir page1)
Le clic sur le bouton Ajouter fait appel au fichier « Ajout.php »
Créer le fichier « Ajout.php » permettant d’ajouter un nouveau livre dans la table « Livre »
puis afficher le message ‘Le livre a été ajouté avec succès’ si l’insertion a réussi ou le
message ‘l'insertion à échoué’ dans le cas contraire.
Ajout.php
<?php $res=mysqli_query($cnx,$req);
$cnx=mysqli_connect("localhost","root" if(mysqli_affected_rows($cnx)==-1){
,"","bibliotheque"); echo"l'insertion à echoué";
$id=$_POST['id']; die($cnx);
$nom=$_POST['nom']; }
$aut=$_POST['aut']; else{
$edit=$_POST['edit']; echo "Le livre a été ajouté avec
$dt=$_POST['dt']; succès";
}
$req="INSERT INTO livre VALUES mysqli_close($cnx);
('$id','$nom','$aut','$edit','$dt')"; ?>

5. Créer la page « Modifier.html » contenant le formulaire ci-dessous permettant de


modifier les propriétés d’un livre

Le clic sur le bouton Modifier fait appel au fichier « Modifier.php »


Créer le fichier « Modifier.php » permettant de modifier les propriétés d’un livre.
On commence par vérifier si l’identifiant du livre existe dans la table livre :

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 2 | 6


PHP/MYSQL 4STI
 Si l’identifiant n’existe pas on affiche le message ‘L'identifiant du livre est
incorrecte’
 Si l’identifiant existe on effectue la mise à jour des champs et on affiche le message
‘Mise à jour réussie’ si la modification réussi ou le message ‘La mise à jour a échoué’
dans le cas contraire
Modifier.php
<?php else{
$req2="UPDATE livre
$cnx=mysqli_connect("localhost","root", SET Nom_liv='$nom',Auteur_liv='$aut',
"","bibliotheque"); Editeur_liv='$edit',
Date_parution='$dt'
$id=$_POST['id']; WHERE Id_liv='$id' ";
$nom=$_POST['nom'];
$aut=$_POST['aut']; $res2=mysqli_query($cnx,$req2);
$edit=$_POST['edit'];
$dt=$_POST['dt']; if(mysqli_affected_rows($cnx)==-1){
die("La mise à jour a échoué");
$req1="SELECT* FROM livre WHERE Id_liv='$id'";
}
$res1= mysqli_query($cnx,$req1); else{
if(mysqli_num_rows($res1)==0){ echo"Mise a jour réussie";
die( "L'identifiant du livre est mysqli_close($cnx);
incorrecte"); }
} }

?>

6. Créer la page « Supprimer.html » contenant le formulaire ci-dessous permettant de


saisir l’identifiant d’un livre pour le supprimer

Le clic sur le bouton Supprimer fait appel au fichier « Supprimer.php »


Créer le fichier « Supprimer.php » permettant de supprimer un livre.
On commence par vérifier si l’identifiant du livre existe dans la table livre :
 Si l’identifiant n’existe pas on affiche le message ‘L'identifiant du livre est
incorrecte’

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 3 | 6


PHP/MYSQL 4STI
 Si l’identifiant existe on effectue la suppression du livre et on affiche le message "La
suppression a échouée" si la suppression n’a pas réussie ou le message "Le livre a
été supprimé avec succès" dans le cas contraire.
Supprimer.php
<?php else{
$cnx=mysqli_connect("localhost","root", $req2="DELETE FROM livre WHERE Id_liv='$id' ";
"","bibliotheque");
$res2=mysqli_query($cnx,$req2);
$id=$_POST['id'];
$req1="SELECT* FROM livre WHERE if(mysqli_affected_rows($cnx)==-1){
Id_liv='$id'"; die("La suppression a échouée");

$res1= mysqli_query($cnx,$req1); }
else{
if(mysqli_num_rows($res1)==0){ echo"Le livre a été supprimé avec succès";
die( "L'identifiant du livre est mysqli_close($cnx);
incorrecte"); }
} }?>

7. Créer la page « Afficher.php » permettant d’afficher le contenue de la table livre


selon le format suivant :

Afficher.php
<?php <th>Auteur</th>
$cnx=mysqli_connect("localhost","root" <th>Editeur</th>
,"","bibliotheque"); <th>Date de parution</th>
$req="SELECT* FROM livre"; </tr>
$res=mysqli_query($cnx,$req); ";
echo" while($l=mysqli_fetch_assoc($res)){
<!DOCTYPE html>
<html> echo"<tr>
<head> <td>".$l['Id_liv']."</td>
<link rel='stylesheet' type='text/css' <td>".$l['Nom_liv']."</td>
media='screen' href='style2.css'></head> <td>".$l['Auteur_liv']."</td>
<body> <td>".$l['Editeur_liv']."</td>
<h1>Liste des livres</h1> <td>".$l['Date_parution']."</td>
<table> </tr>";
<tr> }
<th>Identifiant</th> echo"</table></body></html>";
<th>Nom du livre</th> ?>

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 4 | 6


PHP/MYSQL 4STI
8. Créer les feuilles de style « style.css » et « style2.css » permettant les mise en forme,
respectivement, des pages web « index.html » et « afficher.php »

« Style.css »
body{ a{
display: flex; text-align: center;
margin: 10px; width: 300px;
padding: 10px; height: 50px;
} background-color: rgba(94, 156,
main{ 226, 0.418);
width: 70%; border-radius: 10px;
height: 480px; color:rgb(160, 8, 59);
border: 2px solid rgb(5, 182, 5); font-size: x-large;
border-radius: 10px; text-decoration: none;
margin: 10px; padding: 10px;
} margin-top: 25px;
nav{ margin-bottom: 25px;
width: 30%; transition: width 1s;
height: 480px; }
border: 2px solid blueviolet; a:hover{
margin: 10px; width: 350px;
border-radius: 10px; background-color: rgb(16, 219, 43);
display: flex; color: azure;
flex-direction: column;
align-items: center; }
justify-content: center;
}

« Style2.css »
th,tr,td{ th{
width: 150px; text-align: center;
height: 50px; background-color:aquamarine;}
border: none; td{
background-color:azure; background-color: azure;
margin: 5px; }
padding: 2px; h1{
text-align: center;
} color: green;
}

Rappel :
Les fonctions PHP à utilisées:

 mysqli_connect (hôte, Nom utilisateur, Mot de passe, base de


donnée) : est une fonction PHP utilisée pour établir une connexion à un serveur de
base de données MySQl La fonction prend en entrée quatre arguments : l'hôte, le nom
d'utilisateur, le mot de passe et le nom de la base de données.

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 5 | 6


PHP/MYSQL 4STI
 mysqli_query($cnx,$req) : est une fonction PHP utilisée pour exécuter des
requêtes SQL sur une base de données MySQL.
Elle prend en entrée un pointeur de connexion obtenu avec la fonction mysqli_connect et une
requête SQL sous forme de chaîne de caractères. La fonction renvoie un résultat en fonction
du type de requête :
 Pour les requêtes de type SELECT, le résultat est un objet représentant de
résultats obtenu.
 Pour les autres types de requêtes (INSERT, UPDATE, DELETE, etc.), le
résultat est TRUE en cas de succès ou FALSE en cas d'échec
 mysqli_affected_rows($cnx) : est une fonction PHP utilisée pour retourner
le nombre de lignes affectées par la dernière requête SQL exécutée via la fonction
mysqli_query. Elle prend en entrée un pointeur de connexion obtenu avec la fonction
mysqli_connect.

Le rôle de mysqli_affected_rows est donc de retourner le nombre de lignes d'une table qui ont
été modifiées (ajoutées, mises à jour ou supprimées) par la dernière requête exécutée via
mysqli_query. Cela peut être utile pour vérifier si une requête a été exécutée avec succès ou
pour connaître le nombre de lignes affectées par une requête particulière.

 mysqli_num_rows($res) : est une fonction PHP utilisée pour retourner le


nombre de lignes de résultats obtenu à partir d'une requête SELECT exécutée via la
fonction mysqli_query. Elle prend en entrée un objet représentant la requête.
 mysqli_fetch_array($res) : est une fonction PHP utilisée pour extraire une
ligne à la fois du résultats obtenu à partir d'une requête SELECT exécutée via la
fonction mysqli_query. Elle prend en entrée la requête. La fonction renvoie un tableau
associatif et/ou indexé pour chaque ligne extraite
 mysqli_fetch_row($res) : est une fonction PHP utilisée pour extraire une
ligne à la fois du résultats obtenu à partir d'une requête SELECT exécutée via la
fonction mysqli_query. Elle prend en entrée un objet représentant la requête. La
fonction renvoie un tableau indexé pour chaque ligne extraite, ce qui signifie que les
données peuvent être accédées en utilisant leur position dans le tableau.
 mysqli_close($cnx) : est une fonction en PHP qui permet de fermer une
connexion à une base de données MySQL. Après avoir utilisé une connexion pour
exécuter des requêtes, il est recommandé de fermer la connexion pour libérer les
ressources système associées à cette connexion.

M.Zorgati |Lycée 02 Mars 1934 Siliana Page 6 | 6

Vous aimerez peut-être aussi