Bonjour,
J'ai testé une messagerie en ajax, elle fonctionne très bien, le seul petit problème est que je n'arrive pas à cacher le "0" de la notification qui affiche le nombre de message reçu et non lu.
L'intérêt est que cela attirera les yeux du membre vers le rond rouge avec la notification. Si le rond existe déjà, cela se voit moins bien si un "1" remplace le "0"
J'ai essayé avec un if($resultat>0) { "J'affiche la notification avec un echo" } sinon j'affiche rien if($resultat=0) { " " } (Voir code dessous)
Et cela ne fonctionne pas
Ma base de donnée contient :
id INT(11) Auto Incre
message TEXT
lu TINYINT(1) : 0 = non-lu et 1 = lu
date TIMESTAMP CURRENT_TIMESTAMP
Voici mes codes :
<?php
$sql = connect_sql();
$query = 'SELECT count(id) as row FROM wa_notifications WHERE lu=0';
$result = mysql_query($query) or die (mysql_error());
$resultat = mysql_fetch_row($result); ?>
<li class="dropItem float-r dropdown"><a href="" class="link-mail dropdown-toggle" data-toggle="dropdown"></a>
<span class="jewelCount"><?php if($resultat>0) { ?><span class="messagesValue"><?php echo $resultat[0]; ?></span><?php } else { if($resultat=0) { } ?><?php } ?></span>
<ul class="dropdown-menu" style="margin-left: -13px;">
<div class="arrowMenu"></div>
<li class="dropsubItem"><a href="" class="dropsubLink">Messages reçus</a></li>
<li class="dropsubItem"><a href="" class="dropsubLink">Envoyer un message</a></li>
<li class="dropsubItem"><a href="" class="dropsubLink">Messages envoyés</a></li>
<li class="dropsubItem"><a href="" class="dropsubLink">Voir tous mes messages</a></li>
</ul>
</li>
L'ajax fonctionne normalement très bien, je met le code pour mieux comprendre :
[javascript]
function getNotifications() {
$.ajax({
url: "../ajax/notifications.php",
ifModified:true,
success: function(content){
$('.messagesValue').html(content);
}
});
setTimeout(getNotifications, 5000);
}
getNotifications();
[/javascript]
Ainsi que la page notifications.php qui doit peut-être être à l'origine de ce problème :
require('../include/functions.inc.php');
$sql = connect_sql();
$query = 'SELECT count(id) as row FROM wa_notifications WHERE lu=0';
$result = mysql_query($query) or die (mysql_error());
$resultat=mysql_fetch_row($result);
if($resultat>0) {
echo $resultat[0];
} elseif($resultat=0) {
echo '';
}
Merci d'avance pour vos messages