Afficher le membre connecter au forum et les non membre

Nouveau WRInaute
Salut :D
Alors voila j'ai un petit forum tout simple en php qui est en local, et j'essai de pouvoir afficher les membres (moi lol) connecté et ceux qui ne sont pas connecter en tant que membre mes en tant que visiteur

J'ai regarder des tuto etc
J'utilise le forum TR Forum v1.5
Ma table pour l'user.
Nom de la table :
tr_user_forum


Structure :
Code:
user_id  int(11)   Non    auto_increment              
   pseudo  varchar(65)   Non                  
   pass  varchar(65)   Non                  
   email  varchar(80)   Non                  
   location  varchar(65)   Non                  
   site  varchar(65)   Non                  
   signature  longtext   Non                  
   avatar  varchar(100)   Non                  
   user_date  datetime   Non  0000-00-00 00:00:00                
   nbrep  int(11)   Non  0                
   admin  int(11)   Non  1  
   connecte` smallint(6) Non 0

J'ai ajouter un champ : connecte


Dans l'index du forum j'ai fait un include qui va appeler le fichier : affichage.php

Structure du fichier affichage.php

Code:
<?php
//on se connecte à la base de données
include ("mysql.php");

//on compte le nombre d'entrées où le champ "connecte" est égal à 1
$reponse = mysql_query ("SELECT COUNT(*) AS connectes FROM tr_user_forum WHERE connecte = 0"); 
$donnees = mysql_fetch_array ($reponse); 

?>
    <table>
<?

//si le nombre de connectés est égal ou inférieur à 1, on ne met pas de 's'
if ($donnees['connectes'] <= 1)
{
    ?>
    <td align="center">Membre connecté : <a style="color:green" href="liste_connectes.php"><? echo $donnees['connectes']; ?></a></td>
    <?
}

//sinon on en met un
else
{
    ?>
    <td align="center">Membres connectés : <a style="color:green" href="liste_connectes.php"><? echo $donnees['connectes']; ?></a></td>
    <?
}

?>
    </table>
<?

mysql_close();
?>

Le prob est que cela affiche toujours 0, alors que je suis connecter en tant que membre.
On ma dit de faire un update, mais je voi pas comment :(

Merci en tout cas de votre aide :wink:
 
WRInaute discret
....Oui tu dois faire un UPDATE du champ connecté comme ceci:

UPDATE tr_user_forum SET connecte='?????'
WHERE user_id = ?????


Remplace les ???? comme il le faut ...
 
Nouveau WRInaute
Salut poppyto :wink:

Ok comme ceci ?


Code:
//on compte le nombre d'entrées où le champ "connecte" est égal à 1
$reponse = mysql_query ("SELECT COUNT(*) AS connectes FROM tr_user_forum WHERE connecte = 0"); 
$donnees = mysql_fetch_array ($reponse); 
UPDATE tr_user_forum SET connecte='1' 
WHERE user_id = '1';

Merci pour l'aide :wink:
 
WRInaute discret
Non,

UPDATE est une commande SQL donc utilise mysql_query pour l'executer et aussi fait ton UPDATE avant le SELECT.
 
WRInaute discret
//on compte le nombre d'entrées où le champ "connecte" est égal à 1

mysql_query ("UPDATE tr_user_forum SET connecte='1' WHERE user_id = '1'");

$reponse = mysql_query ("SELECT COUNT(*) AS connectes FROM tr_user_forum WHERE connecte = 1");
$donnees = mysql_fetch_array ($reponse);
 
Nouveau WRInaute
A ok merci beaucoup poppyto, le prob est qu'il m'affiche toujours 1 connecter alors que je ne suis plus connecter, je crois qu'il manque un truc du style update non ?
 
WRInaute discret
En général ces script de visiteurs online affiche forcément un user online.
Par contre tu dit que tu inclus ton fichier affichage.php dans l'index de ton forum. Je pense que la connexion avec la bdd est déjà établis, tu doit pouvoir faire sauter le :
//on se connecte à la base de données
include ("mysql.php");

Ensuite couper le php pour afficher un "</table>" c'est vraiment lourd, tu sais pas faire un echo ou quoi ?
@++
 
Nouveau WRInaute
Ok j'ai enlever la connection en + comme tu dis, merci.

Pour le echo je viens de le faire, a la base c'est pas mon script, il viens d'un tuto.

En général ces script de visiteurs online affiche forcément un user online.

Le truc est que la c'est fait pour voir s'il y a un membre de connecter au forum et non pas un visiteur.
 
Discussions similaires
Haut