Modification de la base de donnée
Résolu/Fermé
Sihemnecib
Messages postés
15
Date d'inscription
jeudi 17 mars 2016
Statut
Membre
Dernière intervention
17 avril 2016
-
17 avril 2016 à 13:26
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016 - 17 avril 2016 à 19:47
Sihemnecib Messages postés 15 Date d'inscription jeudi 17 mars 2016 Statut Membre Dernière intervention 17 avril 2016 - 17 avril 2016 à 19:47
A voir également:
- Modification de la base de donnée
- Formules excel de base - Guide
- Suivi de modification word - Guide
- Logiciel modification pdf - Guide
- Périphérique système de base ✓ - Forum Pilotes (drivers)
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
2 réponses
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
17 avril 2016 à 15:27
17 avril 2016 à 15:27
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.
Sihemnecib
Messages postés
15
Date d'inscription
jeudi 17 mars 2016
Statut
Membre
Dernière intervention
17 avril 2016
17 avril 2016 à 17:52
17 avril 2016 à 17:52
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
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
17 avril 2016 à 18:21
17 avril 2016 à 18:21
C'est ce que j'ai commencé à mettre en dessous
Sihemnecib
Messages postés
15
Date d'inscription
jeudi 17 mars 2016
Statut
Membre
Dernière intervention
17 avril 2016
>
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
17 avril 2016 à 18:34
17 avril 2016 à 18:34
Le serveur me répond qu'il y'a une erreur au niveau de
Me dit: undifined variable:row in..... Et autre dans le même ligne: trying to get property of non-object
Je ne comprend pas cette erreur
echo "<input type='text' name='prenomP' value='".$row->Prenom_patient."'>";
Me dit: undifined variable:row in..... Et autre dans le même ligne: trying to get property of non-object
Je ne comprend pas cette erreur
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
17 avril 2016 à 18:52
17 avril 2016 à 18:52
Oui oups... j'ai oublié le fetch.
Sihemnecib
Messages postés
15
Date d'inscription
jeudi 17 mars 2016
Statut
Membre
Dernière intervention
17 avril 2016
>
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
17 avril 2016 à 19:06
17 avril 2016 à 19:06
Comment et ou j'ajout le fetch svp?
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
>
Sihemnecib
Messages postés
15
Date d'inscription
jeudi 17 mars 2016
Statut
Membre
Dernière intervention
17 avril 2016
17 avril 2016 à 19:36
17 avril 2016 à 19:36
Comment ça comment ?
Comme tu l'as fais dans ton autre page bien sûr :
Et pour le où ... et bien... AVANT les lignes indiquées en erreur (donc avant le echo "<form...." )
Comme tu l'as fais dans ton autre page bien sûr :
$row=mysqli_fetch_object($reqet)
Et pour le où ... et bien... AVANT les lignes indiquées en erreur (donc avant le echo "<form...." )