Objet du TP : Ce TP va permettre de voir
les mécanismes nécessaires à la connexion
à un SBGD de type MySQL (pour un autre SGBD, il faudra
implement adapter les noms de fonctions).
Vous crééerez sur votre compte mySQL une
table agenda avec les informations suivantes :
Nom (50 car. Max), Prénom (50 car. Max), adresse
(255 car. Max), age (entier), téléphone (10
car. Max).
Vous remplirez cette table avec 4 à 5 enregistrements.
Une fois ceci réalisé, vous proposerez une
page permettant d’interroger la base, pour obtenir
- un classement par noms,
- un classement par age,
- la moyenne d’âge des personnes.
Solution
.SQL
CREATE TABLE agenda (nom char(50), prenom
char(50), adresse char(255), age integer);
INSERT INTO agenda VALUES('Roose','Philippe','Quartier
Herauritz',30);
INSERT INTO agenda VALUES('Dalmau','Marc','Labastide',44);
INSERT INTO agenda VALUES('Filbet','Mitch','Anglet',43);
.HTML
<html>
<head>
<title>Agenda</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF"
text="#000000">
<form ENCTYPE="multipart/form-data" action="agenda.php"
METHOD="POST">
<select name="tri">
<option value="Nom">Classement par noms</option>
<option value="Prenom">Classement par prénoms</option>
<option value="Age">Moyenne d'age</option>
<option value="Age">Moyenne d'age</option>
</select>
<input type="submit" value="Exécuter">
</form>
</body>
</html>
.PHP
$bdd= "roose"; // Base
de données
$host= "iparla"; // Hote (localhost en principe)
$user= "roose"; // Utilisateur
$pass= "drop64"; // mp
$nomtable= "agenda";
// Connection bdd
// --------------
print "Tentative de connexion $host - $bdd <br>";
@mysql_connect($host,$user,$pass) or die( "Impossible
de se connecter à la base de données");
print "Connexion réussie, sélection de
base<br>";
@mysql_select_db($bdd);
print "Sélection de base OK<br>";
$choix=$_POST['tri'];
if ($choix == "Nom") {
print "<br>Classement par Noms";
$query = "SELECT * FROM $nomtable ORDER BY nom ";
}
if ($choix == "Prenom") {
print "<br>Classement par Prénoms";
$query = "SELECT * FROM $nomtable ORDER BY prenom ";
}
if ($choix == "Age") {
print "<br>Moyenne d'Age";
$query = "SELECT * FROM $nomtable";
}
$result= MYSQL_QUERY($query);
if (mysql_error()){ // Erreur base de donnees, surement
la table qu'il faut creer
// print "Erreur dans la base de données : ".mysql_error();
exit();
}
else {
// print "Bien connecté....<br>";
}
if ($choix!="Age") {
while($tuple=mysql_fetch_row($result)) {
print "<br>";
print "Nom : $tuple[0] <br>";
print "Prenom : $tuple[1]<br>";
print "Adresse : $tuple[2]<br><hr>";
print "Age : $tuple[3]<br><hr>";
}
} else {
settype($moyenne,"integer");
settype($i,"integer");
$moyenne=0;
$i=0;
while($tuple=mysql_fetch_row($result)) {
$moyenne=$moyenne+$tuple[3];
$i++;
}
$moyenne = $moyenne / $i;
print "<Br>La moyenne d'age est de $moyenne ans<br>";
}
/* Fermeture */
MYSQL_CLOSE();