Php/Mysql recuperation de donnée/modification

Fermé
hiba - 12 mai 2010 à 23:57
 Utilisateur anonyme - 13 mai 2010 à 02:38
bonsoir
g un petit blém et j'espéré trouver quelqu'un qui pourrait m'aider:
j'ai créer une base de données qui contient un ensemble d'eleve :
eleve (nom, prénom , age)
g creer une premiere page eleve.phpou j'ai mit un tableau qui affiche ma base de données
ma page est en php
je travaille en serveur local wamp
ensuite g créer une autre page formulaire.phpdans laquel g mit un formulaire d'insertion de mes eleves ,une fois j'appuie sur le bouton en bas de ma page ,
le client est inséré à la base est une nouvelle ligne apparait dans la page
eleve.php.
je voudrais avoir la possibilité de modifier les informations d'un élève : dans mon tableau j'ai donc creer un champ editer avec un lien , ce lien devra nous diriger vers une page
modifier_client.php
dans ma page modifier_client.phpg le formulaire initiale d'insertion de client
avec les champs déjà remplie avec les données de la base .
le problème c que une fois je clique sur modifier de n'importe quel ligne dans ma page de modification : je retrouve non seulement le formulaire correspondant à la ligne choisi mais autt de formulaire qu'il ya de ligne dans mon tableau ( eleve1,eleve2,eleve3....)
que peut etre l'origine de ce problème
g essayé get mais g un message d'erreur 'index indéfini...'
comment etablir une condition pour ne modifier qu'une ligne à la fois .
et merci bp
A voir également:

1 réponse

Salut,

Le langage sms c'est vraiment un manque de respect ...

Mais bon je vais essayer de t'expliquer comment faire, en essayant de répondre à ton problème :

Il te faudras créer un champ id, qui sera un identifiant unique à tout tes élèves. Tu met int(11) et en auto_increment.

Tu liste tes élèves avec une boucle.

A chaque élève tu écris un lien pour modifier la fiche. Sous la forme de :


echo '<a href="modifier_client.php?id=' . $donnees['id'] . '">


Ensuite dans ta page "modifier_client.php", tu récupère l'id de l'élève concerné. de cette manière :

$id_élève = $_GET['id'];


Ensuite tu met ta variable dans ton formulaire pour le récupérer ensuite :

<input type="hidden" name="id_élève" value="<?php echo $id_élève; ?>" />


Tu récupère les anciennes entrée :

$retour = mysql_query('SELECT * FROM élève WHERE id=\'' . $_GET['id'] . '\'');  
$donnees = mysql_fetch_array($retour);  

$nom = stripslashes($donnees['nom']);  
$prénom = stripslashes($donnees['prénom']);  
$age = $donnees['age'];


Et tu les affiche dans tes champs :

<input type="hidden" name="id_élève" value="<?php echo $id_élève ?>" />  

<input name="nom"><?php echo $nom; ?></input ><br />  

<input name="prénom"><?php echo $prénom; ?></input ><br />  

<input name="age"><?php echo $age; ?></input >


Tu fais ta modif et tu poste le formulaire.

Ensuite tu récupère tes champs et tu les met à jour :

$nom = addslashes($_POST['nom']);  
$prénom = addslashes($_POST['prénom']);  
$age = addslashes($_POST['age']);  
$id_élève = $_POST['id_élève']  

mysql_query("UPDATE élève SET nom='" . $nom . "', prénom='" . $prénom . "', age='" . $age . "' WHERE id='" . $id_élève . "'");


cordialement ...

La chance aide parfois, le travail toujours !
Le vrai con est con. Celui qui n'est pas un vrai con n'est pas plus con qu'un autre.
1