La mise à jour des données peut être assez simple. Commençons par un formulaire, pour commencer :
<form method="post" action="submit.php">
<input type="text" name="id" value="12" />
<input type="text" name="value" value="Jonathan" />
<input type="submit" />
</form>
Ce formulaire enverra les données à notre submit.php
script où nous pouvons le gérer et le transmettre à notre base de données. Étant donné que notre méthode de formulaire est "post", toutes nos valeurs seront envoyées via le POST
super tableau en PHP (ce n'est pas le cas si vous utilisez des téléchargeurs de fichiers). Donc, dans notre submit.php
page, nous pouvons imprimer les valeurs d'ID et de valeur comme ceci :
print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key
Vous devrez faire attention à ne pas transmettre les valeurs soumises par l'utilisateur directement dans vos requêtes, il est donc agréable de nettoyer les données à l'aide d'une fonction telle que mysql_real_escape_string()
:
$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );
La prochaine chose que nous voudrons faire est de les placer dans une requête :
$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";
C'est un bon moment pour ne pas dire que je ne vous encourage pas à utiliser cet exemple de code dans un environnement réel. Vous aurez envie de rechercher des injections sql et comment les éviter. Le code que je fournis ici n'est qu'un exemple. Une fois nos valeurs saisies, la requête qui sera exécutée ressemble en fait à ceci :
UPDATE mytable SET value = 'Jonathan' WHERE id = 12
Maintenant, pour exécuter cela, nous devons être connectés à une base de données.
$host = "localhost";
$user = "root";
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
mysql_select_db($database) or die( mysql_error() );
Tout ce que nous faisons ici est de stocker nos informations d'identification mysql-user-account dans des tableaux et de les transmettre à une fonction de connexion. Ce code devrait être assez explicite, mais faites-moi savoir s'il n'est pas clair du tout.
Une fois que vous avez cela, vous êtes prêt à exécuter votre requête. N'oubliez pas que nous l'avons stocké dans un tableau appelé $sql
:
$result = mysql_query( $sql ) or die( mysql_error() );
C'est ça. Tu l'as fait! Les données, en supposant que tout se passe bien, sont maintenant mises à jour dans votre base de données. Il existe de nombreuses façons d'augmenter les informations fournies à l'utilisateur via ce script. Il convient également de noter que vous voudrez nettoyer vos données avant même d'autoriser l'exécution du script - si ce ne sont pas des données acceptables (quelqu'un essayant d'injecter ses propres requêtes), vous voudrez les recracher.
Consultez les Fonctions MySQL dans la documentation PHP pour plus de cadeaux, et n'oubliez pas de revenir ici si vous avez des questions plus spécifiques !