La création de 5 Étoiles Avec PHP , MySQL ,Jquery Et Ajax
J'ai téléchargé ce tutoriel http://megarush.net/5-star-rating-system-with-php-mysql-jquery-and-ajax/ mais j'obtiens ces erreurs:
Notice: Undefined variable: rat dans C:\xampp\htdocs\rating\rating.php sur la ligne 37
Notice: Undefined variable: v dans C:\xampp\htdocs\rating\rating.php sur la ligne 41
<?php
include("settings.php");
connect();
$ids=array(1,2,3);
?>
<html>
<head>
<script src="jquery.js" type="text/javascript"></script>
<link rel="stylesheet" href="rating.css" />
<script type="text/javascript" src="rating.js"></script>
</head>
<body>
<?php
for($i=0;$i<count($ids);$i++)
{
$rating_tableName = 'ratings';
$id=$ids[$i];
$q="SELECT total_votes, total_value FROM $rating_tableName WHERE id=$id";
$r=mysql_query($q);
if(!$r) echo mysql_error();
while($row=mysql_fetch_array($r))
{
$v=$row['total_votes'];
$tv=$row['total_value'];
$rat=$tv/$v;
}
$j=$i+1;
$id=$ids[$i];
echo'<div class="product">
Rate Item '.$j.'
<div id="rating_'.$id.'" class="ratings">';
for($k=1;$k<6;$k++){
if($rat+0.5>$k)$class="star_".$k." ratings_stars ratings_vote";
else $class="star_".$k." ratings_stars ratings_blank";
echo '<div class="'.$class.'"></div>';
}
echo' <div class="total_votes"><p class="voted"> Rating: <strong>'.@number_format($rat).'</strong>/5 ('.$v. ' vote(s) cast)
</div>
</div></div>';}
?>
</body></html>
S'il vous plaît n'oubliez pas de mentionner le cadre vous travaillez avec chaque fois que vous faites (j'ai édité les tags de cette question afin de refléter la vôtre). Ceci est important car l'étiquette de système de filtrage de stackoverflow s'appuie sur cela. Je vous remercie.
tout à droite, merci
Pourriez-vous l'écho de
Je l'ai fait, et il me montre ceci: SELECT total_votes, total_value DE cotes where id=1
Ok, je suppose que vous aussi vérifié manuellement cette requête dans votre client mysql? Je pense que ces variables doivent être initialisées de toute façon, même si il n'y a aucun enregistrement trouvé. Voir mon point?
tout à droite, merci
Pourriez-vous l'écho de
$q
et de confirmer si il y a des lignes renvoyées? $rat
ne serait pas initialisé, si le jeu d'enregistrements est vide. (la même chose s'applique à $v
)Je l'ai fait, et il me montre ceci: SELECT total_votes, total_value DE cotes where id=1
Ok, je suppose que vous aussi vérifié manuellement cette requête dans votre client mysql? Je pense que ces variables doivent être initialisées de toute façon, même si il n'y a aucun enregistrement trouvé. Voir mon point?
OriginalL'auteur John | 2013-06-08
Vous devez vous connecter pour publier un commentaire.
Le problème est en raison de la portée de ces variables. Lorsque vous essayez de faire l'écho de ces variables en dehors de la boucle while; PHP ne peut pas trouver le varables comme ils ont été créés (et affecté) à l'intérieur de la boucle. Pour résoudre ce problème, il suffit d'attribuer une valeur vide à deux variables à l'extérieur:
Lire sur le système d'étoile un peu plus.
Ok, merci pour l'aide
OriginalL'auteur hjpotter92
$rat
et$v
sont définis dans le cadre de votrewhile
boucle.Si vous les déclarer à l'échelle mondiale (en dehors de la boucle), le reste de votre code reconnaîtront.
OriginalL'auteur faide
Voir ici:
http://bgallz.org/988/javascript-php-star-rating-script/
Cette combine un code Javascript qui a généré l'URL pour les différentes notes attribuées ainsi que le changement de l'affichage pour les stars avant et après une note est donnée.
Une superposition DIV s'affiche après la notation est donnée de façon à ce qu'aucun immédiate des cotes peut être donnée par le même. Il stocke également l'adresse IP de l'utilisateur avec la notation de la soumission pour éviter de multiples notations d'un utilisateur.
C'est un simple et facile à utiliser un script avec Javascript et PHP pour les étoiles.
OriginalL'auteur bgallz
Ajouter cette ligne au début de nide avis d'erreur dans votre code .
Plupart du temps, les avis d'erreur ne sont pas sur le programme.
Dans le cas où si votre voix ne sont pas d'enregistrement puis de supprimer vos cookies et d'essayer de vote à partir d'une autre adresse IP .Ce script dispose d'une fonction pour ne pas accepter de votes de la même ip ou vistitor pour éviter les votes multiples par les mêmes utilisateurs sur un même produit.
OriginalL'auteur amit
Code de http://talkerscode.com/webtricks/star-rating-system-using-php-and-javascript.php
OriginalL'auteur rahul
OriginalL'auteur user3909765