bonjour
je suis nouveau sur le forum,
j ai besoin d'un coup de main.
j'ai donc une table qui comprend 4 champs avec l'id.
Les visiteurs y deposent les informations et enregistre (l id s'auto incrmeent)
Ensuite tout le monde peut consulter ces données
celle ci apparaissent sous forme d'un tableau ou chaque ligne de ce tableau correspondent a un numero d'id.
Ce que j'aimerai , c'est pouvoir modifier une ligne.
Cependant je ne s'est pas trop comment m'y prendre ( rajouter une colonne ds le tableau avec un lien vers un formulaire de modif)
si quelqun pouvai m'aider, me conseiller..
merci
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Ven 17 Mar 2006, 4:03 pm
Salut et bienvenue sur les forums
Le plus simple, je pense, est que lorsque les membres consultent leur donnée, tu affiches ces données dans les champs d'un formulaire (une cellule de chaque ligne de ta table correspondra à un champs, à l'exception de l'id bien sûr, donc il y aura 3 champs). Et la soumission de ce formulaire permettra de modifier les données, du membre en question, dans ta bdd (requête UPDATE sur ta bdd pour la mise à jour)
Pour t'aider dans la conception de ton script, voici un autre topic présent sur ces forums et dont le sujet est similaire au tien !
Et enfin, un petit lien sur la requête UPDATE au cas où tu ne saurais pas comment l'utiliser !
deja merci
Karaskal
Inscrit le: 17 Mar 2006
Messages: 5
Posté le: Ven 17 Mar 2006, 6:18 pm
merci pour la rapidité de reponse., les liens et explications.
Tu m'as donné une idée, ce que j'aimerai, c'es pouvoir editer une ligne.
Toin idée est bonne mais le probleme c'est que j'ai plus de 1000 entrée listée (1000 ligne). Donc le "tableau formulaire" ca me parai lourd
ce que jaimerai : click ds le tableau, dans la ligne correspondante -> ca me balance sur une page formulaire pour editer le sinfos de cet ID.
Ce que je n'arrive pas a faire faire,c es un lien dans chaque ligne du tableau et ainsi lier ma page de formulaire d'update avec l'ID correspondante.
Si tu connai un script qui fonctionne un peu pareil, je suis interesser, apres je me charge de le decortiquer.
merci a lavance
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Ven 17 Mar 2006, 7:10 pm
Dans ta page où tu affiches toutes les lignes de ta table dans un tableau je suppose que tu affiches chaque ligne à l'aide d'une boucle après avoir fait un petit select dans ta bdd ! Donc, il te suffit de rajouter une cellule pour mettre un lien Editer qui sera de la forme:
Rq: Remplace les "dans les codes que je te donne par des"(double quote)satané de BBcode
PHP:
<?php
echo '<a href="edit.php?id='.$id.'">Editer</a>';
//en supposant que la variable $id contient l'id en cours (dans la boucle) provenant de la table
?>
Et dans ta page edit.php, tu récupères la variable id passé dans l'url pour faire un select sur ta table avec un clause where (pour sélectionner seulement les données de l'id en question) et tu peux ainsi afficher les données dans les champs d'un formulaire... et la suite de l'histoire tu la connais déjà
> Exemple schématique de ta page edit.php:
PHP:
<?php
//On récupère l'id dans l'url
$id = $_GET['id'];
//Requête sur ta table de la forme
$query = "SELECT champ1, champ2 FROM ta_table WHERE id = ".$id;
mysql_query($query);
//Et il te reste plus qu'à afficher les données dans les champs d'un formulaire
?>
oki
Karaskal
Inscrit le: 17 Mar 2006
Messages: 5
Posté le: Dim 19 Mar 2006, 3:18 am
j ai essayer de suivre ton conseil, mais je n'arrive pa a faire fonctionner le lien vers edit.php mon pb viendrait des " ...?
peut etre ma méthode d'affichage tableau n'est pas bonne? ou pas adaptée a ce genre de requete?
voici le script de ma page d'affichage de résultats:
Apparemment, tu débutes vraiment dans le PHP ! Donc je serais toi, j'irais faire un tour sur ce site pour lire les tutos sur le coté droit...
En attendant, voici à quoi doit ressembler le code de ta page où tu affiches ton tableau (je te donne juste la partie PHP, pour HTML je pense que ça ira):
//Requête sur ta table en supposant qu'il y a 4 champs
$sql = 'SELECT id, ton_champ1, ton_champ2, ton_champ3 FROM guestbook ORDER BY cubex';
$res = mysql_query($sql, $db);
//On fait une boucle pour afficher tous les résultats dans un tableau
while ($ligne = mysql_fetch_array($res))
{
echo'<tr>
<td>'.$ligne[ton_champ1].'</td>
<td>'.$ligne[ton_champ2].'</td>
<td>'.$ligne[ton_champ3].'</td>
<td><a href="edit.php?id='.$ligne[id].'">Editer</a></td>
</tr>';
}
?>
merci bcp
Karaskal
Inscrit le: 17 Mar 2006
Messages: 5
Posté le: Dim 19 Mar 2006, 3:05 pm
le php, je li et je le comprend, mais jai du mal a lecrire ...c un peu comme l'anglais.
bon, ca y es mes liens fonctionnent vers mon edit.php marche:)
Cependant, mon formulaire de modification est vide (les champs sont vides) et que je les rempli (comme pour modifier) il ne me modifie pa l'id en question mais me crée une autre ligne.
je suppose qu il ne recupere pa l'id de l'url... . Pourtant mon script me parait juste ( pour une fois lol)
voila, deja merci bien pour ce que tu as deja fait et jespere pas tro abuser mici
Redox
Modérateurs
Inscrit le: 07 Sep 2004
Messages: 974
Posté le: Lun 20 Mar 2006, 7:39 pm
Re,
Il n'y a pas besoin de mettre de while ! Et l'action de ton formulaire se fait sur ton fichier ajoutimp.php qui, je suppose, permet d'ajouter une entrée dans ta bdd ! Donc normal...
c est encore moi
Karaskal
Inscrit le: 17 Mar 2006
Messages: 5
Posté le: Mer 22 Mar 2006, 10:56 pm
je recupere bien les données dans le formulaire de mon edit.php, ce pendan qd je modifie ces données, , celles ci ne se modifient pas ds ma base de donnée... en faite juste la variable 'cubex' est mise a jour, c est tres etrange!
C'est bien ce que je te disais, le code de ta page sur laquelle tu soumets ton formulaire permet d'ajouter une entrée dans ta bdd et non de faire la MAJ ! C'est pas INSERT INTO qu'il te faut utiliser mais UPDATE pour modifier des valeurs dans ta bdd !
Et au passage, il n'y a besoin de simple quote autour de tes variables lors de l'ajout des données dans le INSERT INTO ... VALUES ...
Vous pouvez poster de nouveaux sujets dans ce forum Vous pouvez répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
Toutes les heures sont au format GMT + 2 Heures
Page 1 sur 1