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:
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 ; |
id_benefit me permettra d'identifier la ligne à updater
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
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
}
}
?> |
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
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
1 2 3
| for ($i = 0, $c = count($_POST['benefits']); $i < $c; $i++) {
$benefits[] = $_POST['benefits'][$i];
} |
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());
} |
il faudrait mettre aussi dans la clause where l'id primaire de ma table benefits :
UPDATE ...... WHERE `success_number` = '$id' AND `id_benefit` = 'ligne du input'
mais comme il peut y avoir plusieurs input name"benefit[]" je ne sais pas comment savoir l'id benefit à updater
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