Modification de la base de donnée
Résolu
Sihemnecib
Messages postés
15
Date d'inscription
Statut
Membre
Dernière intervention
-
Sihemnecib Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Sihemnecib Messages postés 15 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis débutante en php et j'ai une liste des client a afficher je veut maitre devant chaque élément de cette liste un bouton modifier pour que je peut modifier son dossier qui existe déjà dans ma base de donne
Voici mon code pour l'affichage et ça marche bien
Svp comment je v'ai l'ajouter j'ai besoin d'aide.
Je suis débutante en php et j'ai une liste des client a afficher je veut maitre devant chaque élément de cette liste un bouton modifier pour que je peut modifier son dossier qui existe déjà dans ma base de donne
Voici mon code pour l'affichage et ça marche bien
<?php $dbuser = "root"; $dbpassword = ""; $dbname = "test"; $dbhost = "localhost"; //Connection $mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname); if (mysqli_connect_error()) { printf("Connection à la base de donnée impossible: ", mysqli_connect_error()); exit(); } $alert = ''; $sql=" SELECT * FROM patient" ; $reqet = mysqli_query($mysqli, $sql); while($row=mysqli_fetch_object($reqet)) { echo " <tr> <td>$row->nom_patient</td> <td>$row->Prenom_patient </td> <td>$row->sexe </td> <td>$row->date_ness </td> <td>$row->adresse </td> <td> $row->email</td> <td>$row->num_telephone </td> <td> $row->commentaire</td> </tr>"; } $sel=" SELECT * FROM patient" ; $req = mysqli_query($mysqli, $sel); $count = mysqli_num_rows($req); echo"<html> <font color=black> <center> Total: </font> <font color=red size=18> <br/> $count </center> </font> <html>"; ?>
Svp comment je v'ai l'ajouter j'ai besoin d'aide.
A voir également:
- Modification de la base de donnée
- Suivi de modification word - Guide
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Logiciel gratuit modification pdf - Guide
- Formules excel de base - Guide
2 réponses
Bonjour,
Déjà ... il y a des petites améliorations à apporter à ton code
Premièrement ... ne colles pas le code de connexion à ta BDD dans toutes tes pages.....
Places ce code dans un fichier à part que tu n'auras plus qu'à importer lorsque tu en as besoin.
Par exemple :
Et dans le code de tes pages, tu n'auras qu'à mettre :
Ensuite, pourquoi mettre deux fois la même requête ??
Et maintenant .. ta question :
Il te faut donc, lorsque tu boucles sur les résultats de ta requête et là où tu créés les lignes de ton tableau... y placer ton "bouton" modifier.
Je t'invite à utiliser un lien et une variable GET.
NB: J'ai supposé que dans ta table "patients" tu avais bien mis un champ auto-incrémenté du nom de "id" (sinon.. à toi de le changer)
Pour finir, tu te créés une page : modif_patient.php
Dans laquelle tu mettras un formulaire pour modifier les données du patient.
Comme tu peux le voir, on y envoie la variable ID (voir mon "nb" précédent).
A partir de cet "ID" tu peux récupérer dans la page modif_patient.php les informations du patient à modifier.
Voilou ... je te laisse compléter.
Déjà ... il y a des petites améliorations à apporter à ton code
Premièrement ... ne colles pas le code de connexion à ta BDD dans toutes tes pages.....
Places ce code dans un fichier à part que tu n'auras plus qu'à importer lorsque tu en as besoin.
Par exemple :
<?php //----------------------------------------------// //Fichier cnxBDD.php //----------------------------------------------// $dbuser = "root"; $dbpassword = ""; $dbname = "test"; $dbhost = "localhost"; //Connection $mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname); if (mysqli_connect_error()) { printf("Connection à la base de donnée impossible: ", mysqli_connect_error()); exit(); } ?>
Et dans le code de tes pages, tu n'auras qu'à mettre :
require_once "cnxBDD.php";
Ensuite, pourquoi mettre deux fois la même requête ??
$sql=" SELECT * FROM patient" ;
Et maintenant .. ta question :
je veut maitre devant chaque élément de cette liste un bouton modifier
Il te faut donc, lorsque tu boucles sur les résultats de ta requête et là où tu créés les lignes de ton tableau... y placer ton "bouton" modifier.
Je t'invite à utiliser un lien et une variable GET.
while($row=mysqli_fetch_object($reqet)) { echo " <tr> <td><a href='modif_patient.php?id=".$row->id."'>Modifier</a> <td>".$row->nom_patient."</td> <td>".$row->Prenom_patient." </td> <td>".$row->sexe." </td> <td>".$row->date_ness." </td> <td>".$row->adresse." </td> <td>".$row->email."</td> <td>".$row->num_telephone." </td> <td>".$row->commentaire."</td> </tr>"; }
NB: J'ai supposé que dans ta table "patients" tu avais bien mis un champ auto-incrémenté du nom de "id" (sinon.. à toi de le changer)
Pour finir, tu te créés une page : modif_patient.php
Dans laquelle tu mettras un formulaire pour modifier les données du patient.
Comme tu peux le voir, on y envoie la variable ID (voir mon "nb" précédent).
A partir de cet "ID" tu peux récupérer dans la page modif_patient.php les informations du patient à modifier.
<?php // PAGE : modif_patient.php //------------------------------------------------------------------------------// //connexion à la bdd //------------------------------------------------------------------------------// require_once "cnxBDD.php"; //------------------------------------------------------------------------------// //récupération de la variable ID (envoyée via l'url en GET ) //------------------------------------------------------------------------------// $id = !empty($_GET['id']) ? $_GET['id'] : NULL; //------------------------------------------------------------------------------// // Ici tu placeras le code de traitement du formulaire de modification de ton patient : //------------------------------------------------------------------------------// //récupération "propre" des variables POST $id_patient = isset($_POST['id_patient']) ? $_POST['id_patient'] : NULL; $nomP = isset($_POST['nomP']) ? $_POST['nomP'] : NULL; //etc.... //puis tu mettras la requête de mise à jour ici if($id_patient ){ $sql = " UPDATE patient SET nom_patient = '$nomP' ,prenom_patient = '$prenomP' WHERE id = '$id_patient'"; mysqli_query($mysqli, $sql); } //------------------------------------------------------------------------------// // Affichage du formulaire de modifications //------------------------------------------------------------------------------// // récupération des informations du patient : if($id){ $sql=" SELECT * FROM patient WHERE id='".$id."'" ; $reqet = mysqli_query($mysqli, $sql); //puis ici tu créés le formulaire avec les infos du patient : echo '<form name='modifP' action='' method='post'>"; echo "<input type='hidden' name='id_patient' value='$id'>"; echo "<input type='text' name='nomP' value='".$row->nom_patient."'>"; echo "<input type='text' name='prenomP' value='".$row->Prenom_patient."'>"; //etc... echo "<input type='submit' name='valider' value='valider'>"; echo "</form>"; }else{ echo "Erreur : Aucun ID passé en paramètre"; }
Voilou ... je te laisse compléter.
Bonsoir merc pour ta réponse je refait tous le code comme tu dit.
Mais je bloque dans ce point ou tu me dit:
//------------------------------------------------------------------//
// Ici tu placeras le code de traitement du formulaire de modification de ton patient :
//
//------------------------------------------------------------------//
Pardon je ne comprend pas qu'est ce que Je vais placer
Mais je bloque dans ce point ou tu me dit:
//------------------------------------------------------------------//
// Ici tu placeras le code de traitement du formulaire de modification de ton patient :
//
//------------------------------------------------------------------//
Pardon je ne comprend pas qu'est ce que Je vais placer