Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1254 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Conditions IF ELSE

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Conditions IF ELSE

n°1887120
playstatio​nn
Posté le 22-05-2009 à 22:33:59  profilanswer
 

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)

mood
Publicité
Posté le 22-05-2009 à 22:33:59  profilanswer
 

n°1887122
leoz2004
Posté le 22-05-2009 à 23:18:09  profilanswer
 

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


---------------
Worldcraze 10loop
n°1887134
playstatio​nn
Posté le 23-05-2009 à 00:11:29  profilanswer
 

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

n°1887135
leoz2004
Posté le 23-05-2009 à 00:20:51  profilanswer
 

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
n°1887140
playstatio​nn
Posté le 23-05-2009 à 01:37:12  profilanswer
 

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

n°1887143
xplo
Posté le 23-05-2009 à 02:04:12  profilanswer
 

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 ?

n°1887157
hypertext
Posté le 23-05-2009 à 10:28:29  profilanswer
 

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
n°1887165
hypertext
Posté le 23-05-2009 à 11:25:36  profilanswer
 


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
n°1887170
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 23-05-2009 à 11:40:54  profilanswer
 

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
n°1887177
hypertext
Posté le 23-05-2009 à 12:17:22  profilanswer
 


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.

mood
Publicité
Posté le 23-05-2009 à 12:17:22  profilanswer
 

n°1887192
playstatio​nn
Posté le 23-05-2009 à 13:23:25  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Conditions IF ELSE

 

Sujets relatifs
conditions en jrxmlBoucle For & If Imbriqués
Copier coller une ligne excel sur autre feuille avec conditions[excel] Question de noob sur les commandes IF
Condition If pour ComboBox en AS3Update d'une table sur conditions dans une autre table
[JAVA] Séries de "for" imbriqués avec conditionsProblème avec If et Case dans VBA...
Vba else if probleme 
Plus de sujets relatifs à : Conditions IF ELSE


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR