Bonjour,
A partir d'un formulaire simple, l'utilisateur va pouvoir réinitialiser un bon de commande. Pour ce faire, il passe par un script ajax:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| $(function(){
$("#choiceNBonCom").submit(function(){
...
$.post("fonctionsBonCom.php", $("#choiceNBonCom").serialize(), function(data){
...
if(data == ""){
$("#result").append('Oups! Le bon de commande '+data+' n\'a pas pu être traité correctement').addClass('bad').fadeIn('fast');
}
else{
...
$("#result").append("Le bon de commande "+data+" a bien été réinitialisé...;
}
});
return false;
});
}); |
Le script php:
1 2 3 4 5 6 7 8 9 10 11
| $update = 'UPDATE compta
SET cout = 0
WHERE `nBonCom` = "'.$listeNBonCom.'"';
$requete = mysql_query($update) or die('Erreur SQL!'.$update.'<br>'.mysql_error());
$nbreLine = mysql_affected_rows();
//
if ($nbreLine > 0) {
echo $listeNBonCom;
} else {
echo '';
} |
Le script est fonctionnel, tant qu'il n'y a pas d'erreur côté serveur. Mais si j'en provoque une pour test, par exemple:
1 2 3
| $update = 'UPDATE compta
SET cout = 0
WHERE `nBonCom` = ?'; |
Le Java-script me renvoie toujours le second message
$("#result").append("Le bon de commande "+data+" a bien été réinitialisé...;
, avec l'erreur sql. Je devrais pourtant voir le premier retour du script. 'data' (java-script) n'est visiblement pas considéré comme vide. Pourquoi ? Comment corriger cela ?
merci,
Partager