Bonjour à tous !
j'ai un soucis pour faire un page qui me permet d'éditer un formulaire qui a été enregistré dans ma base.
Structure de ma table:
id_benefit me permettra d'identifier la ligne à updater
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE TABLE `benefits` ( `id_benefit` int(11) NOT NULL auto_increment, `success_number` int(11) default NULL, `benefits` varchar(255) default NULL, PRIMARY KEY (`id_benefit`), FULLTEXT KEY `benefits` (`benefits`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=892 ;
success_number est l'id de ma table principale
benefits contient le texte qui est contenu dans mon input text
Boucle d'affichage des enregistrements contenu dans ma base
J'ai essayé de faire un tableau à deux dimenssion pour poster en même temps l'id de la ligne et le contenu du input
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $query_benefits = mysql_query("SELECT * FROM benefits WHERE success_number = $id"); $count_benefits = mysql_num_rows($query_benefits); .... <?php if($count_benefits != 0){ ?> <tr> <td colspan="3" class="g_nav_cellcolor">Benefits : </td> </tr> <?php while ($array_benefits = mysql_fetch_array($query_benefits)) { ?> <tr> <td colspan="3"><input name="benefits[][<?php echo $array_benefits['id_benefit']; ?>]" type="text" value="<?php echo $array_benefits['benefits']; ?>" size="100" /></td> </tr> <?php } } ?>
Mon problème ce trouve lors de la récupération des données postées par mon formulaire
la ca marcherai si je n'avais qu'un ligne input a updater dans ma table
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 for ($i = 0, $c = count($_POST['benefits']); $i < $c; $i++) { $benefits[] = $_POST['benefits'][$i]; }il faudrait mettre aussi dans la clause where l'id primaire de ma table benefits :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 for ($i = 0, $c = count($_POST['benefits']); $i < $c; $i++) { if($benefits[$i] != ""){ $modify_query_benefits = mysql_query("UPDATE `benefits` SET `benefits` = '$benefits[$i]' WHERE `success_number` = '$id'",$success_stories) or die(mysql_error()); }
mais comme il peut y avoir plusieurs input name"benefit[]" je ne sais pas comment savoir l'id benefit à updater
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE ...... WHERE `success_number` = '$id' AND `id_benefit` = 'ligne du input'
Si vous pouvez m'aider sur ce point ça serai sympa, à mon avis je m'y prends mal, alors un coup de pouce svp
D'avance merci pour votre aide
Partager