Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: webmasterfdm le le 08-05-2011 a 09:00:22

Titre: Système de notation par étoiles survolées
Posté par: webmasterfdm le le 08-05-2011 a 09:00:22

Bonjour,

pour mon site, je suis en train d'adapter un système de notation par étoiles (de 1 à 5 étoiles). On survole ces étoiles, elles changent de couleur au survol (de blanches à légèrement orangées), puis on clic sur l'étoile désirée (pour affecter une note de 1 à 5), là encore les étoiles changent de couleur (couleur orange foncé). Au moment du clic, je renvoi les infos vers un fichier .php, qui est censé ensuite inscrire le résultat du clic (donc une note de 1 à 5) dans une table de ma base de données ...

Le problème : tout fonctionne "bien", mais le résultat de la note dans la table de ma base de données est toujours "0" ...

Voici le script placé entre <head> et </head> :

<script>
var n = 5;
function init(){
var html = '';
for (i=0; i<n; i++){
id = i+1;
html += '<a href="ajoutnot.php"><img src="/images/starOut.png" ';
html += 'id="star" value="off" ';
html += 'onMouseOver="over('+id+');" ';
html += 'onMouseOut="out('+id+');" ';
html += 'onClick="on('+id+')"/></a>'
}
document.getElementById("classement").innerHTML = html;
}

function over(nb){
elemClassement = document.getElementById("classement");
tabImg = elemClassement.getElementsByTagName("img");

if (nb > 0)
for (i=0; i<nb; i++)
tabImg.src="/images/starOver.png";
for (i=nb; i<n; i++)
tabImg.src="/images/starOut.png";
}

function out(nb){
elemClassement = document.getElementById("classement");
tabImg = elemClassement.getElementsByTagName("img");

for (i=0; i<nb; i++)
tabImg.src="/images/starOut.png";
for (i=0; i<n; i++){
if (tabImg.value == "on")
tabImg.src="/images/starOn.png";
}
}

function on(nb){
elemClassement = document.getElementById("classement");
tabImg = elemClassement.getElementsByTagName("img");

for (i=0; i<nb; i++){
tabImg.src="/images/starOn.png";
tabImg.value="on";
}
for (i=nb; i<n; i++){
tabImg.src="/images/starOut.png";
tabImg.value="off";
}

elemComment = document.getElementById("commentaire");
text = nb+"/5";
elemComment.innerHTML = text;
}
</script>

Voici le code HTML de ma page :

<div id="classement" name="cls">
<script>init();</script>
</div>
<div id="commentaire"></div>

Voici le fichier .php qui renvoi vers la base de données :

<?php
if(isset($_GET['classement'])) $classement=$_GET['classement'];
else $classement="";
$dbh = mysql_connect
("rdbms.strato.de", "XXXXXXXX", "XXXXXXXX");
mysql_select_db("XXXXXXXX");
$sql = "INSERT INTO notation(id, note) VALUES('', '$classement')";
mysql_query($sql);
mysql_close();
print ("<script language = \"JavaScript\">");
print ("location.href = 'http://www.fins-de-mois.com/jeux_gratuitsTEST.php';");
print ("</script>");
?>

Merci pour votre aide ...

Titre: Re:Système de notation par étoiles survolées
Posté par: KB le le 09-05-2011 a 13:39:50

salut,

problème de guillemet je pense:
$sql = "INSERT INTO notation(id, note) VALUES('', '".$classement."')";

Titre: Re:Système de notation par étoiles survolées
Posté par: webmasterfdm le le 09-05-2011 a 16:16:52

Salut et merci,
mais,
non malheureusement ce n'est pas ça ... :'(

Titre: Re:Système de notation par étoiles survolées
Posté par: KB le le 09-05-2011 a 16:33:02

Tout le code de ta page est là?
car si c'est le cas, tu n'as rien qui envoie tes données.

tu récupères une variable en GET mais rien n'est envoyé a ta page ajoutnot.php. tu n'as qu'un lien 'classique' <a href="ajoutnot.php">


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.