Prob lors de la création d'une fct UPDATE

Fermé
Sarjaky Messages postés 4 Date d'inscription vendredi 7 septembre 2012 Statut Membre Dernière intervention 17 septembre 2012 - 17 sept. 2012 à 18:30
Bonjour,

J'essaie de créer une fonction qui me permettra de mettre à jour une base de données à partir de formulaires. Mes formulaires ont tous la même structure. Ils ont un input qui ressemble à ceci :

<input type="text" name="1" value="<?php echo $row['fruit[1]']; ?>" size="20">

où la partie "fruit" varie d'un formulaire à l'autre. Par exemple, j'ai une série de champs dans ma bd nommés pomme[1], pomme[2], et ainsi de suite. J'ai la même chose avec orange[1], orange[5], et aussi avec banane[1]. Vous voyez où je veux en venir.

La fonction que j'essaie de créer aura 3 champs : $fruit qui correspond au nom du fruit, ainsi que $min et $max pour faire une boucle, ce qui me permet de mettre à jour les champs pomme[6], pomme[7] et pomme[8], par exemple.

Mon code pour la page 'orange' ressemble à ceci :

<?php } elseif ($_SERVER['QUERY_STRING'] == "orange") { ?>

<form action="vian.php?auteur_valider" method="post">

<input type="text" name="1" value="<?php echo $row['orange[1]']; ?>" size="20">
<input type="text" name="2" value="<?php echo $row['orange[2]']; ?>" size="20">
<input type="text" name="3" value="<?php echo $row['orange[3]']; ?>" size="20">

<input type="submit" name="submit" value="Valider">
</form>

<?php } elseif ($_SERVER['QUERY_STRING'] == "orange_valider") { 

function update($min,$max,$fruit){
	for($i=$min;$i<=$max;$i++){
		$query="UPDATE 'eleve' SET '$fruit.[$i]'='$_POST[$i]' WHERE 'FName'='$FName' AND 'Lname'='$Lname'";
			mysql_query($query) or die ('Error updating db');
	}
}

update(1,3,orange);
?>

On m'indique 'Error updating db'.

J'en suis à mes premières fonctions, alors je ne sais pas trop où chercher une erreur. La syntaxe de celle-ci est-elle correcte? Ou alors mon erreur se situe-t-elle au niveau de la $query? J'ai l'impression que c'est au niveau de la syntaxe de '$fruit.[$i]'

Merci!
A voir également: