Aide sur une question de PHP dans DW

  • Travis Coats
  • Graduate
  • Graduate
  • No Avatar
  • Inscription: Mai 27, 2007
  • Messages: 107
  • Status: Offline

Message Février 20th, 2010, 9:10 pm

Hé les gars, j'utilise DW CS3 pour la plupart tout de ma conception et le codage des besoins si cela va vraiment à présenter comme une question d'amateur. :)

J'ai cette PHP / MySQL Query j'ai fait la moyenne des cotes de pistes individuelles, puis les commander en descendant de la plus élevée (5,0) vers le plus bas (1). J'ai réussi à obtenir le fonctionnement en mathématiques mais je n'ai pas été en mesure de faire comme mon graphiste prévu - rendre la sortie des moyennes des chiffres représentés par des étoiles Unicode & #9733. L'objectif est d'avoir le nombre de personnes présentes que le html unicode à la volée avant que la page est servi. Toutefois, DWS code est assez intense pour mon esprit novice et je n'ai pas été en mesure de mettre en œuvre le code suivant dans mon code avec succès:

Code: [ Select ]
$rater_stars="";


// Assign star image
if ($query_ratings_average <= 0 ){$rater_stars = "0";}
if ($query_ratings_average >= 0.5){$rater_stars = "&#189;}
if ($query_ratings_average >= 1 ){$rater_stars = "&#9733;";}
if ($query_ratings_average >= 1.5){$rater_stars = "&#9733;&#189;";}
if ($query_ratings_average >= 2 ){$rater_stars = "&#9733;&#9733;";}
if ($query_ratings_average >= 2.5){$rater_stars = "&#9733;&#9733;&#189;";}
if ($query_ratings_average >= 3 ){$rater_stars = "&#9733;&#9733;&#9733;";}
if ($query_ratings_average >= 3.5){$rater_stars = "&#9733;&#9733;&#9733;&#189;";}
if ($query_ratings_average >= 4 ){$rater_stars = "&#9733;&#9733;&#9733;&#9733;";}
if ($query_ratings_average >= 4.5){$rater_stars = "&#9733;&#9733;&#9733;&#9733;&#189;";}
if ($query_ratings_average >= 5 ){$rater_stars = "&#9733;&#9733;&#9733;&#9733;&#9733;";}
  1. $rater_stars="";
  2. // Assign star image
  3. if ($query_ratings_average <= 0 ){$rater_stars = "0";}
  4. if ($query_ratings_average >= 0.5){$rater_stars = "&#189;}
  5. if ($query_ratings_average >= 1 ){$rater_stars = "&#9733;";}
  6. if ($query_ratings_average >= 1.5){$rater_stars = "&#9733;&#189;";}
  7. if ($query_ratings_average >= 2 ){$rater_stars = "&#9733;&#9733;";}
  8. if ($query_ratings_average >= 2.5){$rater_stars = "&#9733;&#9733;&#189;";}
  9. if ($query_ratings_average >= 3 ){$rater_stars = "&#9733;&#9733;&#9733;";}
  10. if ($query_ratings_average >= 3.5){$rater_stars = "&#9733;&#9733;&#9733;&#189;";}
  11. if ($query_ratings_average >= 4 ){$rater_stars = "&#9733;&#9733;&#9733;&#9733;";}
  12. if ($query_ratings_average >= 4.5){$rater_stars = "&#9733;&#9733;&#9733;&#9733;&#189;";}
  13. if ($query_ratings_average >= 5 ){$rater_stars = "&#9733;&#9733;&#9733;&#9733;&#9733;";}


Bien sûr, je les variables utilisées dans le présent ne sont que temporaires jusqu'à ce que je peux trouver comment le faire fonctionner. Heres la zone concernée, compte tenu de code, que DW fait pour moi - et je suis analyse actuellement:

Code: [ Select ]
mysql_select_db($database_main_guestbook, $main_guestbook);
$query_comments_all = "SELECT * FROM listenerfeedback ORDER BY id DESC";
$comments_all = mysql_query($query_comments_all, $main_guestbook) or die(mysql_error());
$row_comments_all = mysql_fetch_assoc($comments_all);
$totalRows_comments_all = mysql_num_rows($comments_all);

$maxRows_ratings_average = 10;
$pageNum_ratings_average = 0;
if (isset($_GET['pageNum_ratings_average'])) {
 $pageNum_ratings_average = $_GET['pageNum_ratings_average'];
}
$startRow_ratings_average = $pageNum_ratings_average * $maxRows_ratings_average;

mysql_select_db($database_main_catalog, $main_catalog);
$query_ratings_average = "SELECT track, ROUND( avg( rating ) , 1 ) as avg_rating, COUNT(rating) as total_ratings FROM `trackRatings` GROUP BY track ORDER BY avg_rating DESC, total_ratings DESC";
$query_limit_ratings_average = sprintf("%s LIMIT %d, %d", $query_ratings_average, $startRow_ratings_average, $maxRows_ratings_average);
$ratings_average = mysql_query($query_limit_ratings_average, $main_catalog) or die(mysql_error());
$row_ratings_average = mysql_fetch_assoc($ratings_average);

if (isset($_GET['totalRows_ratings_average'])) {
 $totalRows_ratings_average = $_GET['totalRows_ratings_average'];
 
} else {
 $all_ratings_average = mysql_query($query_ratings_average);
 $totalRows_ratings_average = mysql_num_rows($all_ratings_average);
}
$totalPages_ratings_average = ceil($totalRows_ratings_average/$maxRows_ratings_average)-1;
  1. mysql_select_db($database_main_guestbook, $main_guestbook);
  2. $query_comments_all = "SELECT * FROM listenerfeedback ORDER BY id DESC";
  3. $comments_all = mysql_query($query_comments_all, $main_guestbook) or die(mysql_error());
  4. $row_comments_all = mysql_fetch_assoc($comments_all);
  5. $totalRows_comments_all = mysql_num_rows($comments_all);
  6. $maxRows_ratings_average = 10;
  7. $pageNum_ratings_average = 0;
  8. if (isset($_GET['pageNum_ratings_average'])) {
  9.  $pageNum_ratings_average = $_GET['pageNum_ratings_average'];
  10. }
  11. $startRow_ratings_average = $pageNum_ratings_average * $maxRows_ratings_average;
  12. mysql_select_db($database_main_catalog, $main_catalog);
  13. $query_ratings_average = "SELECT track, ROUND( avg( rating ) , 1 ) as avg_rating, COUNT(rating) as total_ratings FROM `trackRatings` GROUP BY track ORDER BY avg_rating DESC, total_ratings DESC";
  14. $query_limit_ratings_average = sprintf("%s LIMIT %d, %d", $query_ratings_average, $startRow_ratings_average, $maxRows_ratings_average);
  15. $ratings_average = mysql_query($query_limit_ratings_average, $main_catalog) or die(mysql_error());
  16. $row_ratings_average = mysql_fetch_assoc($ratings_average);
  17. if (isset($_GET['totalRows_ratings_average'])) {
  18.  $totalRows_ratings_average = $_GET['totalRows_ratings_average'];
  19.  
  20. } else {
  21.  $all_ratings_average = mysql_query($query_ratings_average);
  22.  $totalRows_ratings_average = mysql_num_rows($all_ratings_average);
  23. }
  24. $totalPages_ratings_average = ceil($totalRows_ratings_average/$maxRows_ratings_average)-1;


Avec ces exemples, quelqu'un peut-il me pousser dans la bonne direction sur la manière dont je peux intégrer ce code dans DWS plan de manière à provoquer de ne pas se gratter la tête bien de ma part? Le code qui affiche réellement les cotes auditeur se présente comme suit (vous pouvez voir les données variables):

Code: [ Select ]
<li><h4>Listener rating</h4></li>
                                <?php do { ?>
                                 <li><strong><?php echo $row_ratings_average['track']; ?></strong><?php echo $row_ratings_average['avg_rating']; ?> &#9733;'s<br/> Rated <?php echo $row_ratings_average['total_ratings']; ?> time(s)</li>
                         <?php } while ($row_ratings_average = mysql_fetch_assoc($ratings_average)); ?>
  1. <li><h4>Listener rating</h4></li>
  2.                                 <?php do { ?>
  3.                                  <li><strong><?php echo $row_ratings_average['track']; ?></strong><?php echo $row_ratings_average['avg_rating']; ?> &#9733;'s<br/> Rated <?php echo $row_ratings_average['total_ratings']; ?> time(s)</li>
  4.                          <?php } while ($row_ratings_average = mysql_fetch_assoc($ratings_average)); ?>


Ceci est la sortie réelle de la région répétée lorsque la requête est éteint avec un maximum de dix premières moyennes. Encore une fois, merci pour toute aide. Sorry for the long post.
  • Anonymous
  • Bot
  • No Avatar
  • Inscription: 25 Feb 2008
  • Messages: ?
  • Loc: Ozzuland
  • Status: Online

Message Février 20th, 2010, 9:10 pm

  • Travis Coats
  • Graduate
  • Graduate
  • No Avatar
  • Inscription: Mai 27, 2007
  • Messages: 107
  • Status: Offline

Message Février 27th, 2010, 8:36 pm

Pas de pensées ou des suggestions? J'ai essayé quelques fois d'intégrer le code pour les étoiles dans les fonctions que DW crée, mais je reçois une page blanche - ce qui indique une erreur. Je suis un débutant absolu avec PHP et je souhaiterais avoir quelque chose que vous avez à offrir. :)
  • devilwood
  • Silver Member
  • Silver Member
  • Avatar de l’utilisateur
  • Inscription: Nov 18, 2007
  • Messages: 429
  • Status: Offline

Message Mars 11th, 2010, 9:15 am

Je ne vois pas où la variable $ query_ratings_average dans vos "si" les déclarations se rendent effectivement mis en valeur. Cette variable est simplement votre texte SQL et ne contient pas les valeurs (0,0.5,1, etc), vous devez comparer. Im également de ne pas voir où vous utilisez $ rater_stars lorsque vous affichez votre écouteur Evaluation Im un peu perdu sur ce que la première section de l'ensemble de votre code est pour. Sinon, ça sonne effectivement comme vous eu le rôle ardu accompli et vous avez juste besoin d'échanger une "img" (ce cas une image unicode) avec les valeurs tiré de la BD, mais je pense que ces valeurs ne sont pas stockées dans $ query_ratings_average.

Afficher de l'information

  • Total des messages de ce sujet: 3 messages
  • Utilisateurs parcourant ce forum: demonmaestro et 185 invités
  • Vous ne pouvez pas poster de nouveaux sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas éditer vos messages
  • Vous ne pouvez pas supprimer vos messages
  • Vous ne pouvez pas joindre des fichiers
 
 

© 2011 Unmelted, LLC. Ozzu® est une marque déposée de Unmelted, LLC