Update en PHP foireux mais pas sous MySQL
Bonjour.
J'ai un problème que je n'arrive pas à résoudre.
J'ai un formulaire qui me permet de modifier l'ordre de mon menu sur mon site.
Lorsque que je clique sur le bouton, le formulaire me retourne 3 infos
Updown = up ou down (si l'élément doit monter ou descendre)
page_id = le menu correspondant
sequence = la séquence d'affichage actuel de l'élément du menu.
Le but est de changé de place (en fonction du n° de séquence) avec l'élément précédent (si up) et avec l'élément suivant (si up)
Jusque là, pas de problème ;)
La seule chose est que les requêtes ne fonctionnent pas et ne retournent aucune erreur sous php. Alors qu'elles fonctionnent sous Mysql.
Voici le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
$page_id = $_GET['page_id'];
$sequence = $_GET['sequence'];
if ($_GET['updown'] == "up")
{
echo "up";
// Up permet de faire passer de la position 2 à la position 1
$sequence_min = $sequence - 1 ;
mysql_query ( " UPDATE Menu SET Sequence = '9999' "
. " WHERE Page_id = " . $page_id
. " AND Sequence = " . $sequence
)or die(mysql_error());
mysql_query ( " UPDATE Menu SET Sequence = '" . $sequence . "'"
. " WHERE Page_id = " . $page_id
. " AND Sequence = " . $sequence_min
)or die(mysql_error());
mysql_query ( " UPDATE Menu SET Sequence = '" . $sequence_min . "'"
. " WHERE Page_id = " . $page_id
. " AND Sequence = 9999 "
)or die(mysql_error());
mysql_query ( " UPDATE Caption SET Sequence = '9999' "
. " WHERE Page_id = " . $page_id
. " AND Sequence = " . $sequence
)or die(mysql_error());
mysql_query ( " UPDATE Caption SET Sequence = '" . $sequence . "'"
. " WHERE Page_id = " . $page_id
. " AND Sequence = " . $sequence_min
)or die(mysql_error());
mysql_query ( " UPDATE Caption SET Sequence = '" . $sequence_min . "'"
. " WHERE Page_id = " . $page_id
. " AND Sequence = 9999 "
)or die(mysql_error());
} |
Lorsque je reprends les requêtes générées par Php en Mysql, ca fonctionne parfaitement ...
Or, via le site, ca ne fonctionne pas.
Une idée ?