Conditions IF ELSE

Conditions IF ELSE - PHP - Programmation

Marsh Posté le 22-05-2009 à 22:33:59    

Bonjour,
 
j'ai un petit soucis sur mon forum (créé en PHP)  
j'aimerai que sous le pseudo de celui qui parle on puisse voir une îcone s'il est en ligne.
Dans ma BDD : en ligne si enligne = 1 sinon enligne = 0.
 
voici mon code :

Code :
  1. <?php
  2.   $connected = mysql_query('SELECT * FROM forum_whosonline WHERE online_id = "'.$data500['ID'].'"');
  3.   if(mysql_num_rows($connected) < 1)
  4.   {
  5.   ?>
  6.    <img src="http://01static.chimboland.net/fr/modif_lang/icone-enligne.gif" />
  7.   
  8.   <?php
  9.   }
  10.   else
  11.   {
  12.   }
  13.   ?>


 
mais l'icone ne s'affiche pas même lorsque je suis connecté !
J'ai déjà connecté mon script à ma bdd (mysql_connect)
 
voilà, Help me
merci
@+
 
(le else ne contient rien car si le membre est déconnecté, on ne met rien)

Reply

Marsh Posté le 22-05-2009 à 22:33:59   

Reply

Marsh Posté le 22-05-2009 à 23:18:09    

je suis pas sur hein mais pourquoi tu met ton img en dehors des balise php ?


---------------
Worldcraze 10loop
Reply

Marsh Posté le 23-05-2009 à 00:11:29    

J'utilise la technique qui consiste à :
<?php  
{
 
?>
conditions ici
 
<?php  
}
?>

Reply

Marsh Posté le 23-05-2009 à 00:20:51    

oui mais justement...(je code en C et j'ai fait du php mais sa remonte a 1 ans deja ;))
 

Code :
  1. <?php
  2.      $connected = mysql_query('SELECT * FROM forum_whosonline WHERE online_id = "'.$data500['ID'].'"');
  3.      if (mysql_num_rows($connected) < 1) */Si je suis connecter donc/*
  4.      {
  5.         <img src="http://01static.chimboland.net/fr/modif_lang/icone-enligne.gif" />
  6.       }
  7.      else
  8.      {
  9. je fais rien; ;)
  10.      }
  11.      ?>


---------------
Worldcraze 10loop
Reply

Marsh Posté le 23-05-2009 à 01:37:12    

Ca marche mais ça affiche tout le monde en ligne ! :S

Reply

Marsh Posté le 23-05-2009 à 02:04:12    

c est pas un prob de requette sql ?
tu dis si en ligne = 1 , mais tu ne test nul pars quelquechose = 1 dans ta requete ?

Reply

Marsh Posté le 23-05-2009 à 10:28:29    

essaye ca :

Code :
  1. <?php
  2. $connected = mysql_query('SELECT * FROM forum_whosonline WHERE online_id = "'.$data500['ID'].'" ')or die(mysql_error());
  3. $connected2 = mysql_fetch_array($connected);
  4. if($connected2 == 1)
  5. {
  6. ?>
  7. <img src="http://01static.chimboland.net/fr/modif_lang/icone-enligne.gif" />
  8. <?php
  9. }
  10. ?>


Je ne vois pas, pourquoi tu avais mis un else, car tu ne faisais rien dedans.
Ca reviens au même que ne pas l'écrire (le else).
 
Explique nous a quoi sert ta table "forum_whosonline", ce que tu stockes dedans, etc.
Moi j'aurais fait une table : users
avec dedans : user_pseudo, user_mdp, user_enligne
Et si "user_enligne" vaut 1 il est connecté sinon pas.
Ce que je viens de dire c'est peut-être exactement la même chose que ta table "forum_whosonline".


Message édité par hypertext le 23-05-2009 à 10:40:21
Reply

Marsh Posté le 23-05-2009 à 11:25:36    


J'aimerais bien savoir pourquoi vous utilisez "mysql_num_rows".
mysql_num_rows renvoi le nombre d'entrées qui correspondent aux critères de la requete (il renvoi donc un nombre).
Mais il veut simplement connaître la valeur de online_id.
Alors utilise mysql_fetch_array.
 
Tu saurais utiliser mysql_num_rows si tu voudrais faire un système qui dit combien de personnes sont connectés.


Message édité par hypertext le 23-05-2009 à 11:27:57
Reply

Marsh Posté le 23-05-2009 à 11:40:54    

et puis faire un SELECT * peut être très gourmand en ressources, surtout s'il ne veut que savoir si le membre est là ou pas ...
 
SELECT COUNT(id) AS nb_members FROM forum_whosonline WHERE online_id = "'.$data500['ID'].'"';
mysql_query
mysql_fetch_array
 
et t'as le nombre $var['nb_members']
si ce nombre égale 1, tu affiches l'image. (sous entendu, s'il n'égale pas 1, l'image ne sera pas affichée, donc membre considéré comme hors ligne).


Message édité par NewsletTux le 23-05-2009 à 11:41:12

---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 23-05-2009 à 12:17:22    


Justement, si il a l'id du membre, il n'a plus qu'a faire une requete qui retourne si enligne = 1 ou 0 la où id = l'id du membre.

Reply

Marsh Posté le 23-05-2009 à 12:17:22   

Reply

Marsh Posté le 23-05-2009 à 13:23:25    

Merci de votre aide, ça marche, c'était une mauvaise requête...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed