Cette petite application se compose de 3 fichiers qui ont les fonctions suivantes :
create table comments (
id int(10) default '0' not null auto_increment,
nom char(20) default '' not null,
prenom char(20) default '',
email char(50) default '' ,
computer char(10),
browser char(10),
version char(10),
comments char(200),
primary key (id),
key nom (nom)
);
On commence par ce connecter à la base de donnée
$link = mysql_connect ( "tecfasun5 ", "nobody ", "") or die ( "Unable to connect to SQL server");
mysql_select_db ("mydb ", $link)
or die ( "Unable to select database");
Ensuite, on construit la requête SQL à partir des données envoyées par le formulaire et on envoi la requête à mySQL
$query_string = "INSERT INTO comments (nom, prenom, email, computer, browser, version, comments) VALUES ('$nom', '$prenom', '$email', '$computer', '$browser', '$version', '$comments')";
$result = mysql_query ($query_string);
A ce stade, la variable $result contient
Il faut faire un test sur cette variable pour donner un feedback à l'utilisateur
if ($result) {
echo "<p>Vos données son bien enregistrées.";
echo "<p>Vous pouvez aller voir tous les <a href='comments-list.php'>commentaires</a>.\n";
}
else {
echo "<p>Warning: ERROR writing on data base.</p>\n";
echo "<p>Error returned by mySQL : " . mysql_error () . "\n";
}
La fonction mysql_error() retourne la dernière erreur mySQL générée dans un string qu'on peut imprimer. Très utilile pour debugger !
En cas de problème, il est conseillé d'imprimer à l'écran la requête SQL pour pouvoir la vérifier
echo $query_string;
Dans de grosses applications avec beaucoup de données, il faut penser a libérer les ressources de la machine en fermant les connections ouvertes
mysql_close ($link);
Après avoir établi la connection (voir paragraphe suivant) il faut extraire les données de la table comments
$result = mysql_query ( "select * from comments");
A ce stade, la variable $result contient :
Ce n'est pas fait dans cet exemple mais il est préférable de faire un test sur cette variable avant la suite des opérations.
if (!$result) { echo "ca marche pas :(";
...arreter le programme } else { ...traiter les données
}
Pour présenter les données à l'écran, on les présente dans un tableau. Les lignes et les cellules sont crées dans une boucle qui va lire chaque enregistrement du "result set".
$i = 0;
while ($i < mysql_num_rows ($result)) {
echo "<tr>";
echo "<td>";
echo mysql_result ($result,$i ,'id ');
echo "</td>";
echo "<td>";
echo mysql_result ($result,$i ,'nom ');
echo "</td>";
echo "<td>";
echo mysql_result ($result,$i ,'prenom ');
echo "</td>";
..... suite du traitement des champs
echo "</tr>";
$i++;
}