KasPe
Messages postés9Date d'inscriptionsamedi 19 avril 2008StatutMembreDernière intervention 8 décembre 2010
-
8 déc. 2010 à 02:15
KasPe
Messages postés9Date d'inscriptionsamedi 19 avril 2008StatutMembreDernière intervention 8 décembre 2010
-
8 déc. 2010 à 13:36
Salut à tous et merci de m'aider,
J'essaye de débuter avec Ajax. Dans cet exemple je cherche à faire un bête système de notation avec des étoiles, le truc classique on survole les étoiles grises jusqu'à la troisième on clique et la note est de 3. Je sais qu'il existe des codes sur le site pour ça mais je me suis donné cet exemple pour débuter.
voilà mon code mais il ne marche pas :
En fait c'est comme si il ne recevait pas mon POST. La requete MySQL est valide mais la table ne se met pas à jour. Bien sûr ici la requete est en dur mais ce sera la note cliquée qui sera insérée.
<?php
function envoiReq ($requete){
// Exécution de la requête
$result = mysql_query($requete);
// Vérification du résultat
// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.
if (!$result) {
$message = "YK_Requête invalide : " . mysql_error() . "\n";
$message .= "YK_Requête complète : " . $requete;
echo ($message);
}
return $result;
}
// -------------------------------------------------------------------
// STAR
// -------------------------------------------------------------------
if(isset($_POST['do_submit'])) {
include "./connect_inc.php";
$query "UPDATE notation SET note '3' WHERE id = '1'";
$result = envoiReq($query);
if($_POST['byajax']) { die(); } else { $message = 'Sortation has been saved.'; }
}
?>
Ici tout à l'air de fonctionner, en tout cas il affiche bien 'Mise à jour effectuée.' et la valeur de la note est la bonne.
Une remarque j'utilise mootools.
window.addEvent('domready', function() {
// ajoute les fonctionnalités sur les etoiles
$$('.star').addEvent('click', function(){addNote(this)});
// note
var addNote = function(e){
var note=e.name;
$('auto_note').value = note;
//do an ajax request
//autosubmit if the checkbox says to
if($('auto_submit').value) {
var req = new Request({
url:'./index.php',
method:'post',
autoCancel:true,
data:'auto_note=' + note + '&ajax=' + $('auto_submit').value + '&do_submit=1&byajax=1',
onRequest: function() {
$('message-box').set('text','Mise à jour en cours.');
},
onSuccess: function() {
$('message-box').set('text','Mise à jour effectuée.');
}
}).send();
}
}
});
</script>
KasPe
Messages postés9Date d'inscriptionsamedi 19 avril 2008StatutMembreDernière intervention 8 décembre 2010 8 déc. 2010 à 13:36
Désolé d'avoir encombré pour rien.
En fait tout marche très bien quand on pointe vers la bonne base de donnée . Voilà ce que c'est que de faire du code dans la nuit.