Easy-Micro

ESPACEMEMBRE PHP-MySQL
Modifier une table

Modifier la table "clients"

Formulaire pour modifier une table MySQL avec la librairie PDO

Pour cet exemple, on utilise le menu déroulant réalisé précédemment

<script>
// Deux lignes pour l'analyseur de code ESLint dans Brackets
/* eslint no-unused-vars: 0*/
/* global window */

function fait_passer() {
"use strict";// Déclaration de variables obligatoire

// on récupère dans le champ idclient, la valeur du menu déroulant
// on aurais pu utiliser ici un window.getElementById(idclient).value

window.document.form1.idclient.value = window.document.form1.malistedenom.value;

window.document.form1.nom.style.display = "inline"; // apparait
if (window.document.form1.idclient.value === "") {
window.document.form1.nom.style.display = "none"; // apparait et disparait
}
}
</script>

<?php
// connexion à la base
$user = "root";
$pass = "";
$dnspdo = 'mysql:dbname=mabase;host=localhost;charset=utf8';
$bdd = new PDO($dnspdo, $user, $pass);

// Récupère deux champs de la table clients
$requete4 = 'SELECT id_client, nom_client FROM clients';

$resultat = $bdd->prepare($requete4);
$resultat->execute();

Formulaire pour MODIFIER des clients<br>
<form action="index.php?page=traitement-modif" method="post" name="form1">
Nom : <select name="malistedenom" onchange="fait_passer();">
<option value="" selected>Veuillez sélectionner un client</option>
<?php
while($ligne = $resultat->fetch()) {
echo "<option value='".$ligne['id_client']."'>".$ligne['nom_client']."</option>";
}
?>
</select>
<input type="text" name="nom" style="display:none;">
<input type="hidden" name="idclient">
<input type="submit" value="Modifier">
</form>
?>

Explication : c'est la fonction javascript fait_passer() qui fais passer le nom et l'identifiant du client dans les inputs, ce qui permet d'envoyer l'identifiant et le nom via la méthode POST

Fichier de traitement de modification d'une table MySQL avec la librairie PDO

// On récupère les infos envoyées en POST
if (isset($_POST['nom']) && !empty($_POST['nom'])){ $nom = $_POST['nom'];} else { $nom = "Inconnu";}
if (isset($_POST['idclient']) && !empty($_POST['idclient'])){ $idclient = $_POST['idclient'];} else { $idclient = "";}

// Modification des enregistrements
if (!empty($idclient)) {
$requete = "UPDATE clients SET nom_client='".$nom."' WHERE id_client='".$idclient."' LIMIT 1";
$resultat = $bdd->prepare($requete);
$resultat->execute();
}

// redirection pour affichage du résultat
header("Location: index.php?page=affichage-client");

Flux RSS Easy-Micro - Abonnez-vous Easy-Micro [ François Bisch ]