Ah la la
Dans le code que je t'ai mis, je n'est pas utiliser mysql_db_query(), mais
mysql_query().
Pourquoi donc faire autrement ?
Puis comme tu l'as vue cette différence, le réflexe c'est d'aller voir la doc de Php, pour au moins savoir pourquoi.
La fonction
mysql_db_query()
Et là, tu aurais vu ceci, gras et en rouge :
Et aussi :
Donc mysql_db_query() c'est à mettre à la poubelle.
Je ne sais où tu as trouver ça, mais faut changer de manuel si c'est le cas.
Aussi, faire soit même un minimum de débug est relativement simple, comme afficher certaines données douteuses, ou pour visualiser/contrôler quelles soient correcte.
C'est principalement faire des echo, print_r() ou var_dump().
Exemple :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
// On affiche / vérifie (provisoirement) ce que contient le tableau $_POST
print_r($_POST);
if (isset($_POST['menu'])) {
echo 'On rentre bien dans la condition<br />';
foreach ($_POST['menu'] as $key => $menu) {
echo 'On parcourt bien chaque élément du tableau<br />';
$requete = "UPDATE carte SET nom='".$menu[$key]['nom']."', prix='".$menu[$key]['prix']."', description='".$menu[$key]['description']."', afficher='".$menu[$key]['afficher']."' WHERE id = ".(int)$menu[$key]['id'];
// On affiche/varifie le contenu de chaque requête
echo $requete.'<br />';
$result = mysql_query($requete);
}
} |
Rien qu'avec ça, on peu obtenir des infos intéressantes.
Aussi, un autre moyen simple pour avoir d'autres infos, c'est de faire un click droit dans la page Web, puis "Code source de la page" pour visualiser le code HTML généré par Php.
Je ne l'ai pas vu dans ton dernier code.
Je te recommande vraiment de les rajoutés au update (voir la doc au besoin).
Et dernier point.
Ca se peu qu'au niveau de la boucle foreach() du UPADTE que ça soit comme ceci $menu['nom'] au lieu de ça $menu[$key]['nom'], idem pour les autres.
A voir et à corriger au besoin.
Partager