PHP MySQL Update la mise à jour de la base de données

Jusqu'à présent, vous avez appris comment mettre les informations dans votre base de données MySQL, afficher les informations et choisir quelles informations vous souhaitez afficher. Dans ce chapitre je vais vous montrer comment mettre à jour votre base de données c'est-à-dire modifier les informations dans la base de données.

PHP cours tutorial

PHP MySQL Mise à jour des données d’une table

Mise à jour de données dans une base de données
Le mot clé UPDATE est employé pour mettre à jour ou editer les enregistrements existants dans une table.

Syntaxe



UPDATE nom_table SET colonne1=valeur1, colonne2=valeur2,... WHERE some_colonne=some_value




Note :
Notez la clause WHERE dans la syntaxe de UPDATE. la clause WHERE spécifie l’enregistrement qui devrait être mis à jour.
Si vous omettez la clause WHERE, tous les enregistrements seront mis à jour !
Pour apprendre plus au sujet du SQL, visitez SVP notre cours d'instruction de SQL.


Exemple
L'exemple suivant met à jour quelques données dans la table visiteurs que nous avons créé lors d’un chapitre précédent., on va changer l’age de Dubois caterine qui est de 27 ans en 36 ans



Sélectionner le code


<?PHP
$con = mysql_connect (" server "," user", " passe") ;
if (!$con)
  {
  die('connexion impossible' . mysql_error());
  }


mysql_select_db (« maBase », $con) ;

mysql_query("UPDATE visiteurs SET Age = '36'
WHERE nom = 'Dubois' AND prenom = ' caterine '");		

mysql_close($con);
?> 

 

Le Script de mise à jour de la base de données gestion des contacts

en rvenons à notre tutorial, que nous poursuivant depuis le début de ce didacticiel : le script pour la gestion de contact

Dans l'avant dernier chapitre, j'ai expliqué comment créer un lien pour chaque enregistrement pour pointer vers votre script de mise à jour. En utilisant la variable $id, vous exportez les liens qui passeraient l'ID correct au script de sorte qu'il peut mettre à jour la base de données. En utilisant cela, vous pouvez alors créer le script de mise à jour, qui aura en fait deux sections à elle.

Affichage d'une Page de mise à jour de la base de données contacts

La première partie du script de mise à jour utilise la seule sélection d'enregistrements du dernièr chapitre, mais y ajoute un peu de HTML pour le rendre plus utile. Tout d'abord, nous connecter à la base de données et sélectionnez le dossier approprié.

Sélectionner le code


<?php
$id=$_GET['id'];
$username="root";
$password="";
$database="test";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Désolé la base de données ne peut pas être sélectionnée");
$query=" SELECT * FROM contacts WHERE id='$id'";
$resultat=mysql_query($query);
$num=mysql_num_rows($resultat) or die(mysql_error());
mysql_close();
$i=0;
while ($i < $num) {
$prenom=mysql_result($resultat,$i,"prenom");
$nom=mysql_result($resultat,$i,"nom");
$phone=mysql_result($resultat,$i,"telephone");
$mobile=mysql_result($resultat,$i,"mobile");
$fax=mysql_result($resultat,$i,"fax");
$email=mysql_result($resultat,$i,"email");
$web=mysql_result($resultat,$i,"web");
?>

Le Code ici

<?php
++$i;
}
?>
 

Où « Le Code ici» est le code html du formulaire qui va permettre de récupérer les informations pour effectuer la mise à jour de la base de données. C'est, en fait, juste HTML qui ressemble à ceci :

Sélectionner le code


<form action="mise-a-jour.php" method="post">
<input type="hidden" name="co_id" value="<?php echo $id; ?>">
Prénom: <input type="text" name="co_prenom" value="<?php echo $prenom; ?>"><br>
Nom: <input type="text" name="co_nom" value="<?php echo $nom; ?>"><br>
N° de téléphone: <input type="text" name="co_phone" value="<?php echo $phone; ?>"><br>
N° téléphone mobile: <input type="text" name="co_mobile" value="<?php echo $mobile; ?>"><br>
Fax : <input type="text" name="co_fax" value="<?php echo $fax; ?>"><br>
Adresse E-mail: <input type="text" name="co_email" value="<?php echo $email; ?>"><br>
Adresse Web: <input type="text" name="co_web" value="<?php echo $web; ?>"><br>
<input type="Submit" value="Update">
</form>
 

Comme vous pouvez le constater, ce code va afficher un formulaire standard, mais au lieu d'avoir des cases vides comme sur le formulaire pour insérer un nouvel enregistrement, celui-ci a déjà les informations actuelles de la base de données inséré dedans. Cela le rend beaucoup plus efficace pour insérer les modifications nécessaires à la mise à jour de la base de données.

Mise à jour de la base de données

La prochaine étape est la page « mise-a-jour.php » qui contient un script avec la commande qui va effectivement mettre à jour la base de données. C'est une opération simple et implique juste une nouvelle requête pour la base de données comme suit:

$query="UPDATE contacts SET prenom='$co_prenom', nom='$co_nom', telephone='$co_phone', mobile='$co_mobile', fax='$co_fax', email='$co_email', web='$co_web' WHERE id='$co_id'";

Cette requête indique à la base de données de mettre à jour la table contacts avec l'ID égale à la valeur stockée dans $co_id (qui comme vous pouvez le voir sur le formulaire sur la page précédente a été défini comme l'id de l'enregistrement, que nous mettons à jour) et à définir les champs suivants les valeurs spécifiées (qui ont été configurés en utilisant le formulaire sur la page précédente).

Cette requête pourrait ensuite être intégrée dans un script simple que voici:

Sélectionner le code


<?php
$co_id=$_POST['co_id'];
$co_prenom=$_POST['co_prenom'];
$co_nom=$_POST['co_nom'];
$co_phone=$_POST['co_phone'];
$co_mobile=$_POST['co_mobile'];
$co_fax=$_POST['co_fax'];
$co_email=$_POST['co_email'];
$co_web=$_POST['co_web'];

$username="root";
$password="";
$database="test";
mysql_connect("localhost",$username,$password);
@mysql_select_db($database) or die( "Désolé la base de données ne peut pas être sélectionnée");

$query="UPDATE contacts SET prenom='$co_prenom', nom='$co_nom', telephone='$co_phone', mobile='$co_mobile', fax='$co_fax', email='$co_email', web='$co_web' WHERE id='$co_id'";
mysql_query($query);
echo "Les modification ont été enregistrées dans la base de données";
mysql_close();;
?>
 

Ce code devrait mettre à jour la base de données et donner à l'utilisateur une confirmation.

Par carabde 20 Aout 2014