bug alerte nouveau message tchat

Par AaFrederic Husson, il y a 8 ans


bonjour

j'ai créé un petit script ajax qui m'affiche une bulle avec le nombre de message tchat cette bulle doit s'afficher à coté du profil qui m'as envoyé un message mais la bulle s'afiche à coté de tous les pseudos de la liste

je vous laisse mon ajax:

var verif_chat; clearInterval(verif_chat); var div_mess; function fonction_verif_chat(){ //$('#list_profil').empty(); $.ajax({ url : "/chat/liste_profil.php", // on passe l'id le plus récent au fichier de chargement method : 'GET', success : function(html){ $('#list_profil').empty().append(html); } }); } verif_chat = setInterval(function() {fonction_verif_chat();}, 1000);

la page list profil qui est appelé:

while($data2 = mysql_fetch_array($req2)) { $sql3 = mysql_query("SELECT sexe FROM membres WHERE pseudo='".$data2['dest']."'") or die (mysql_error()); list($sexe) = mysql_fetch_row($sql3); $sql3 = mysql_query("SELECT COUNT(*) FROM chat WHERE dest='".$_SESSION['pseudo']."' AND exp='".$data2['dest']."' AND nouv='oui'") or die (mysql_error()); list($nbre_chat) = mysql_fetch_row($sql3); if ($nbre_chat!='0') { $verif = '<div class="new_chat"><p>'.$nbre_chat.'</p></div>'; } if ($sexe == 'Homme') { echo '<A style="margin-bottom: -15px; color: #007ba2;" class="chat_profils_homme" href="/chat/chat.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].''.$verif.'</a>'; } else { echo '<A style="margin-bottom: -15px; color: #f40e63;" class="chat_profils_homme" href="/chat/chat.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].''.$verif.'</a>'; } }

voici l'image pour expliquer le probleme:

par rapport à l'image je suis sur la 2eme discution le pseudo en bleu et c'est le pseudo en rouge qui m'as écris donc la bulle devrais juste être à coté du 1er pseudo de la liste

5 réponses

Cybercraft, il y a 8 ans

Pour $sql3, je pense que c'est mysql_result($sql3) et pas fetch row. Sinon ta condition sera toujours différente de 0.

AaFrederic Husson, il y a 8 ans

c'est pas ça le problème car si je fait ça:

$sql3 = mysql_query("SELECT COUNT(*) FROM chat WHERE dest='".$_SESSION['pseudo']."' AND exp='".$data2['dest']."' AND nouv='oui'") or die (mysql_error()); list($nbre_chat) = mysql_fetch_row($sql3); if ($sexe == 'Homme') { echo '<A style="margin-bottom: -15px; color: #007ba2;" class="chat_profils_homme" href="/fiche_cli/chat.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].'<div class="new_chat"><p>'.$nbre_chat.'</p></div></a>'; } else { echo '<A style="margin-bottom: -15px; color: #f40e63;" class="chat_profils_homme" href="/fiche_cli/chat.php?exp='.$_SESSION['pseudo'].'&dest='.$data2['dest'].'">'.$data2['dest'].'<div class="new_chat"><p>'.$nbre_chat.'</p></div></a>'; }

ça me retourne bien le bon nombre de message mais je veux juste affiche la bulle et le nombre de message si supérieur à 0

Cybercraft, il y a 8 ans

t'as essayé comme ça ?
if ($nbre_chat!=0) {

Sans les simple quote ?

AaFrederic Husson, il y a 8 ans

oui ça change rien

AaFrederic Husson, il y a 8 ans

la je comprend pas car si je remplace

if ($nbre_chat != 0) { $verif = '<div class="new_chat"><p>'.$nbre_chat.'</p></div>'; }

par

$verif = '<div class="new_chat"><p>'.$nbre_chat.'</p></div>';

j'ai bien le bon nombre de message non lu qui s'affiche