Nous allons vous expliquer à travers ce tutorial comment insérer des données dans une base de données Mysql.
Prenons un exemple d'une table "clients" qui contiendrait les champs suivants :
Table clients :

 |
CREATE TABLE `clients` (
`id` int(5) NOT NULL auto_increment,
`nom` varchar(40) NOT NULL,
`prenom` varchar(45) NOT NULL,
`pays` varchar(40) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
Pour ajouter de nouvelles informations, nous allons utilisé la requête INSERT.
Voici la requête à effectuer si on veut ajouter un nouveau client à notre table.
 |
<?php
//Connexion au serveur et à la base de données.
mysql_connect("localhost", "root", "")or die("La connexion au serveur a echoué");
mysql_select_db("tutoplus")or die("La connexion à la base de données a echoué");
?>
<html>
<head>
<title>Ajout de données</title>
</head>
<body>
<?php
// Requête pour ajouter notre nouveau client.
$req = "INSERT INTO clients VALUE ('', 'Duchamps', 'Patrick', 'Pays 1')";
// Si il y a une erreur
$result = mysql_query($req) or die ("Exécution de la requête impossible");
// On ferme la connexion.
mysql_close();
?>
Duchamps Patrick vient d'être inseré dans la base.
</body>
</html> |
Pour mieux comprendre notre requête, nous allons l'examiner plus en détails :
INSERT INTO clients = on insère dans la table clients.
VALUE ('', 'Duchamps', 'Patrick', 'Pays 1') = les valeurs suivantes. Attention elles doivent être dans le même ordre que dans notre table. Ainsi Duchamps sera pour le champs nom, Patrick pour le champ prenom et France pour le champ pays.
Vous pouvez remarquer qu'il n'y a rien d'inscrit dans les premier guillemets car comme nous avons mis le champs id de notre table en auto_increment, c'est Mysql qui se chargera de lui attribuer un numéro.
Maintenant, nous allons voir comment enregistrer les informations provenant d'un formulaire.
Prenons toujours le même exemple. Voici comment sera notre formulaire :
Voici le code php du formulaire pour ajouter un nouveau client :
 |
<?php
// On teste si le formulaire a été soumis.
if (isset($_POST['Enregistrer']))
{
// On verifie si les champs sont bien renseignés.
if ((isset($_POST['nom'])) && !empty($_POST['nom']) && (isset($_POST['prenom']) && !empty($_POST['prenom'])))
{
//Connexion au serveur et à la base de données.
mysql_connect("localhost", "root", "")or die("La connexion au serveur a echoué");
mysql_select_db("tutoplus")or die("La connexion à la base de données a echoué");
// Requête pour ajouter notre nouveau client.
$req = "INSERT INTO clients VALUE ('', '".$_POST['nom']."', '".$_POST['prenom']."', '".$_POST['pays']."')";
mysql_query($req) or die ("Exécution de la requête impossible");
// On ferme la connexion.
mysql_close();
// On affiche un petit message pour confirmer l'enregistrement.
echo 'Nous venons d\'insérer dans notre base de données '.$_POST['nom'].' '.$_POST['prenom'].' '.$_POST['pays'].'';
}
// Si les champs ne sont pas renseignés.
else {
echo 'Les champs ne sont pas renseignés';
}
}
?>
<html>
<head>
<title>Ajout de donnée</title>
</head>
<body>
<form name="form1" method="post" action="insert_donnee.php">
<table width="295" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="99">Nom : </td>
<td width="196"><input type="text" name="nom" id="nom" />
</td>
</tr>
<tr>
<td>Prenom : </td>
<td><input type="text" name="prenom" id="prenom"/></td>
</tr>
<tr>
<td>Pays : </td>
<td><select name="pays">
<option>Pays 1</option>
<option>Pays 2</option>
<option>Pays 3</option>
</select>
</td>
</tr>
<tr>
<td> </td>
<td><div align="right">
<input type="submit" name="Enregistrer" value="Enregistrer" />
</div></td>
</tr>
</table></form>
</body>
</html> |
Voilà vous savez dès à présent comment faire pour enregistrer des données dans votre base.
A vous de modifier comme bon vous semble.
|