ENONCE
TAF 5 : (par groupe de 3 étudiants)
1. utiliser le script de la fig 45 pour générer la bd Biblio, la table
Livres et ses données. Créer ensuite un utilisateur « moi » avec
le mot de passe « motdepasse » pouvant se connecter et ayant
tous les droits sur toutes les tables de la bd « Biblio » sauf le
droit de créer un autre utilisateur.
2. utiliser les codes des fig 46 et 47 pour permettre la recherche
d’un livre sur la base des critères indiqués par l’internaute
3. considérant la base de données Biblio, écrire les codes HTML et
PHP nécessaires pour recueillir des données d’un nouveau livre
dans un formulaire et les insérer dans la tables « livres ».après
vérification desdites données
4. créer un code (HTML et PHP) permettant de rechercher un livre
sur la base des critères indiqués par l’internaute comme au
point 2, de présenter les données du premier livre retrouvé
plutôt dans un formulaire, de modifier le(s) champ(s) désiré(s),
de prévoir 2 boutons : « Enregistrer » pour enregistrer les
modifications faites, et « supprimer » pour supprimer le livre
après confirmation.
5. Reconsidérer le 2. La recherche peut trouver plusieurs livres qui
répondent aux critères de recherche. Modifier les codes afin
que l’affichage soit sous forme tabulaire. Un lien sera prévu sur
le titre de chaque livre trouvé, permettant de le sélectionner et
d’envoyer ses données dans un formulaire comme au 4 avec 2
boutons, « modifier » et « supprimer » pour les besoins de la
cause. Après modification ou suppression, les données doivent
être réaffichées pour que l’utilisateur s’en rende compte.
Par M. ADAMOU MFOPOU Page 1
create database biblio; Fig 45 :
use biblio; script sql permettant de
DROP TABLE IF EXISTS livres; générer la structure de
la table livres de la
CREATE TABLE IF NOT EXISTS livres (
base de données Biblio
codeLivre int(10) unsigned NOT NULL auto_increment, et l’insertion de
ISBN char(16) , quelques données dans
cette table
auteur char(30) ,
titre char(60) ,
stock tinyint(3) unsigned ,
pu float(10,2) NOT NULL DEFAULT '' ,
PRIMARY KEY (codeLivre));
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("1", "978-2-300-014147",
"Marcel B.", "Algèbre linéaire", "10", "2500.00");
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("2", "978-2-300-023918",
"Luke Welling", "PHP&MySQL 2eme Edition", "14", "4000.00");
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("3", "978-2-300-012435",
"Jean Laloi", "Droits des Sociétés", "30", "3616.67");
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("4", "978-2-300-034152",
"Oban Guema", "Lettres africaines", "6", "2850.00");
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("5", "978-2-300-087363",
"HelRiegel", "Management des organisations", "11", "3000.00");
INSERT INTO livres (codeLivre, ISBN, auteur, titre, stock, pu) VALUES("6", "978-2-300-013525", "J.
Gandouin", "Rédaction adm. en Afrique", "16", "3100.00");
<html> Fig 46 :
<head> code HTML de la page
<title>Bibliothèque – catalogue des livres</title> formulaire de
</head> recherch. Fichier
<body> rechLivres.html
<h1>RECHERCHE D’UN LIVRE</h1>
<form action="results.php" method="post">
Choisir le champ de recherche:<br />
<select name="typeRech">
<option value="auteur">Auteur</option>
<option value="titre">Titre</option>
<option value="isbn">ISBN</option>
</select>
<br />
Entrer le terme de recherche : <br />
<input name="termeRech" type="text">
<br />
<input type="submit" value="Rechercher">
</form>
</body>
</html>
Par M. ADAMOU MFOPOU Page 2
<html> Fig 47 :
<head>
<title> Bibliothèque – catalogue des livres </title> script php qui
</head> exécute la requête et
<body> récupère les données
<h1> RECHERCHE D’UN LIVRE </h1> (fichier «
<?php results.php »)
// creation de variables de noms courts
$typeRech=$_POST['typeRech'];
$termeRech=$_POST['termeRech'];
$termeRech= trim($termeRech);
if (!$typeRech || !$termeRech)
{
echo 'Vous n\’avez entré aucun critère de recherche. Ressayez !.';
exit;
}
$typeRech = addslashes($typeRech);
$termeRech = addslashes($termeRech);
@ $db = mysql_connect('localhost', 'moi', 'motdepasse'); // voir aussi mysql_pconnect
if (!$db)
{
echo 'Erreur: echec de connexion à la base de données Essayez plutard.';
exit;
}
mysql_select_db('Biblio',$db);
$query = "select * from livres where ".$typeRech." like '%".$termeRech."%'";
//voir l’utilisation de la fonction INSTR() dans where par rapport à la clause like
$result = mysql_query($query);
$num_results = 0;
$num_results = mysql_num_rows($result);
echo '<p>Nombre de livres trouvés : '.$num_results.'</p>';
for ($i=0; $i <$num_results; $i++) // voire boucle while $row = mysql_fetch_array($result)
{
$row = mysql_fetch_array($result); //obtenir chaque
echo '<p><strong>'.($i+1).'. Titre: '; // ordre des livres trouvés
echo htmlspecialchars(stripslashes($row['titre']));
echo '</strong><br />Auteurr: ';
echo stripslashes($row['auteur']);
echo '<br />ISBN: ';
echo stripslashes($row['isbn']);
echo '<br />Qté : ';
echo stripslashes($row['stock']);
echo '<br />Prix: ';
echo stripslashes($row['prix']);
echo '</p>';
}
mysql_close($db);
?>
</body>
</html>
Par M. ADAMOU MFOPOU Page 3