Le langage PHP
Gérer une base de données

Modifier un enregistrement

La fonction update vous permet de modifier les enregistrements d'un ou plusieurs champs dans votre table.

Le formulaire de modification :

<html>
<head>
<title>formulaire</title>
<head>
<body>
Pour modifier votre mail :<br>
<form method="post" action="modif.php">
Nom : <input type="text" name="nom"><br>
Email : <input tupe="text" name="email"><br>
<input type="submit" name="submit" value="Modifier">
</form>
</body>
</html>


Le fichier modif.php :

<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('base',$connect) or die ("erreur de connexion base");
mysql_query("UPDATE liste SET email=$email WHERE nom==$nom");
mysql_close();
?>

Un petit détour par PhpMyAdmin vous confirmera que l'enregistrement a bien été modifié.


 

Supprimer un enregistrement

Supprimer 1 seul enregistrement, on choisit l'id numéro 1

<?php
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('base',$connect) or die ("erreur de connexion base");
mysql_query("DELETE FROM liste WHERE nom='Emile' ");
mysql_close();
?>


La clause where vous permet de choisir l'enregistrement que vous souhaitez supprimer, si vous n'utilisez pas cette clause, la table sera complètement vidée de son contenu. L'instruction delete est donc à manipuler avec attention !

Vous pouvez utilisez plusieurs instructions avec la clause where, par exemple.

$req = MySQL_query("DELETE FORM liste WHERE nom =$nom AND email=$email ");


 

Trier une table

Nous allons trier la table par ordre ascendant sur les noms des utilisateurs. Le résultat sera affiché dans un tableau Html.

ORDER BY vous permet de choisir un ordre pour l"affichage, en précisant ASC vous aurez une sortie en ordre croissant, et avec DESC, la sortie sera en ordre décroissant.

<html>
<head>
<title>Trier</title>
<head>
<body>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<th>Nom</th>
<th>Email</th>
</tr>
<?php
// Connexion au serveur
$connect = mysql_connect('localhost','root','') or die ("erreur de connexion");
mysql_select_db('base',$connect) or die ("erreur de connexion base");
// Création et envoi de la requête
$result = mysql_query("SELECT nom,url FROM sites ORDER ASC BY nom");
// Récupération des résultats
while($row = mysql_fetch_row($result)){
$Nom = $row[1];
$Email = $row[2];
echo "<tr>\n
<td>$Nom</td>\n
<td>$Email</td>\n
</tr>\n";
}
// Déconnexion de la base de données
mysql_close();
?>
</tr>
</table>
</body>
</html>


Dans l'exemple ci-dessus, on utilise la fonction mysql_fetch_row() qui est assez semblable à la fonction mysql_fetch_array() mais cette fonction stocke les enregistrements non dans un tableau associatif mais dans un tableau indexé normal.