par
albius » 29 juin 2010, 11:37
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:
Code : Tout sélectionner
$(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:
$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:
$update = 'UPDATE compta
SET cout = 0
WHERE `nBonCom` = ?';
Le Java-script me renvoie toujours le second message
Code : Tout sélectionner
$("#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,
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:
[code]$(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;
});
});[/code]
Le script php:
[php]
$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 '';
}
[/php]
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:
[sql]$update = 'UPDATE compta
SET cout = 0
WHERE `nBonCom` = ?';[/sql]
Le Java-script me renvoie toujours le second message
[code]$("#result").append("Le bon de commande "+data+" a bien été réinitialisé...; [/code]
, 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,