[RESOLU] Cacher le "0" des messages reçus en PHP ou CSS

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Cacher le "0" des messages reçus en PHP ou CSS

Re: Cacher le "0" des messages reçus en PHP ou CSS

par nico44530 » 22 févr. 2013, 02:17

Cela ne va pas ralentir le serveur s'il y a beaucoup de visiteurs en un seul moment qui reçois des notifications ?
Ou alors mettre le settimeout à rafraichir toute les 1 minute ?

Re: Cacher le "0" des messages reçus en PHP ou CSS

par moogli » 22 févr. 2013, 00:17

salut,

<span class="jewelCount"><?php if($resultat>0) { ?><span class="messagesValue"><?php echo $resultat[0]; ?></span><?php } else { if($resultat=0) { } ?><?php } ?></span>

$resutat est un tableau et non un nombre. Ton premier if n'a donc aucun sens :)
donc un seul if suffit.
<p class="jewelCount">
<?php 
if($resultat !== false && $resultat['row'] > 0) { 
    echo '<span class="messagesValue">'. echo $resultat['row'].'</span>';
}
?>
</p>
par exemple


@+

Re: Cacher le "0" des messages reçus en PHP ou CSS

par nico44530 » 20 févr. 2013, 04:02

Merci pour ton message, et non ça ne fonctionne pas :(
Bien essayé pourtant :|

Autres idées s'il vous plais ?

Merci d'avance

Re: Cacher le "0" des messages reçus en PHP ou CSS

par sam12 » 20 févr. 2013, 03:37

if($resultat==0)
? Avec 2 =

Cacher le "0" des messages reçus en PHP ou CSS

par nico44530 » 20 févr. 2013, 02:23

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