Bonjour,
Dans ma liste de news, j'éssaie de mettre des indicateurs de nombre de vues(lectures), de commentaires et de partages.
En m'inspirant du http://www.lefigaro.fr , je voudrais que le nombre et l'icône de lectures passent en rouge dès qu'ils dépassent disons 50 vues.
Dans ma table "news" , il y a un champ libéllé "lectures" qui correspond au nombre de vues pour chaque news.
Il est de type int(6) et prend des valeurs de 1 à 100.
Mais au vu de mes codes , le nombre de lecture et l'icône restent invariablement rouges .
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <div id="counters_<?php echo $donnee['id'];?>" class="counters" > <div class="icon-views" alt="nombre de lectures" title="Lectures"><i class="fa fa-eye"></i></div> <div class="count-views" alt="nombre de lectures" title="Lectures"> <?php $id=$donnee['id']; $retour_count = mysql_query( "SELECT COUNT(*) AS nbre_vues FROM news WHERE id='" . $id ."' "); $donnees_count = mysql_fetch_assoc($retour_count); if ($donnees_count['nbre_vues'] == 0){ mysql_query("INSERT INTO news(lectures) VALUES 1"); echo "1"; } else { $retour = mysql_query("SELECT lectures FROM news WHERE id='" . $id ."' "); $donnees = mysql_fetch_assoc($retour); $lectures = $donnees['lectures'] + 1; mysql_query("UPDATE news SET lectures = lectures + 1 WHERE id='" . $id ."' "); echo $lectures; } ?> </div> </div>En faisant un echo gettype($lectures) j'ai bien 'integer'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <script> var highlighted=<?php echo $lectures ?>, kounter = document.getElementsByClassName("count-views"), ikon = document.getElementsByClassName("icon-views"); if(highlighted > 50){ $(kounter).css("color","#f00"); $(ikon).css("color","#f00"); }else { $(kounter).css("color","#999"); $(ikon).css("color","#999"); } </script>
Personnellement, je pense que la var highlighted n'est pas de type numeric (ou integer) pour être comparée avec $lectures.
Quelqu'un aimerait-il me montrer où ça cloche ?
Merci d'avance.
Partager