Jump to content
Sign in to follow this  
austin powers

nombre de connectés

Rate this topic

Recommended Posts

Selectionne dans phpbb_sessions

(je ne sais pas si ça fonctionne mais je pense)

$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

//nombre de connectés :
print($r[0]);

60*15 dans la requête -> les 15 dernières minutes, en théorie ca doit fonctionner

Share this post


Link to post
Share on other sites

merci de ta reponse

je ne comprend pas je doit coller se code sur la page d'accueil de mon site?

parce que sinon en editant le fichier session.php je ne retrouve pas ce code :blink:

Share this post


Link to post
Share on other sites
parce que sinon en editant le fichier session.php je ne retrouve pas ce code  :blink:

Qui a parlé du fichier session.php ?

hcplayer te dit de sélectionner ce que tu cherches dans la table "phpbb_sessions" de ta base de données SQL ;)

Share this post


Link to post
Share on other sites

desolé pour ma betise :blush: mais quelle est la procedure exacte a suivre???

On est bien d'accord que je veux mettre sur la page d'index du site le nombres de connéctés sur le forum qui est dans un autre dossier??

Doit je coller le script sur la page d'accueil du site??? :wacko:

Share this post


Link to post
Share on other sites

$database = ""; //base sur laquelle il y a phpbb
mysql_select_db("");
$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

Ceci ou tu as l'habitude de placer tes requetes, si tu as plusieurs base, selectionne la bonne.

Ensuite :

Il y a actuellement <? print($r[0]); ?> connecté sur le forum

la ou tu souhaite le mettre :)

Share this post


Link to post
Share on other sites

J'ai un petit probleme c'est que quand je tape ma requête j'ai ce message

Vous devez choisir au moins une colonne à afficher :huh:

Edited by austin powers

Share this post


Link to post
Share on other sites

ben alors ou est le probleme,j'ai fait cette requete

$database = ""; //base sur laquelle il y a phpbb(ici j'ai mis le nom d'user)
mysql_select_db("ici j'ai mis le nom de la bdd");
$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

Share this post


Link to post
Share on other sites

fait :

$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))") or die(mysql_error());

et donne nous le message, car la requête fonctionne très bine chez moi.

ce n'est pas le nom d'user qu'il faut mettre, c'est le nom de ta base, celui que tu as choisi, quand tu as installé ton forum ;)

Edited by hcplayer

Share this post


Link to post
Share on other sites

Il y a lorsqu'on s'attaque à la programmation un minimum d'effort à faire.

Tu es le seul à pouvoir répondre à cette question parce qu'il s'agit du nom de TA base de données. C'est donc toi seul qui peux le connaître.

Merci aussi de prendre la peine de lire la documentation, cela évitera pas mal de questions inutiles.

Dan

Share this post


Link to post
Share on other sites

En fait je pense qu'on c'est mal compris :hypocrite:

j'explique

$database = "[b]ici j'ai mis le nom de la bdd du forum[/b]"; 
mysql_select_db("[b]ici je met quoi?? [/b]");
$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

Merci de vos reponse et desolé si ça a l'air simple mais moi j'ai du mal :whistling:

Share this post


Link to post
Share on other sites
mysql_select_db

(PHP 3, PHP 4 , PHP 5)

mysql_select_db -- Sélectionne une base de données MySQL

Description

bool mysql_select_db ( string database_name [, resource link_identifier])

$database = "ici j'ai mis le nom de la bdd du forum";

Donc oui, il te faut mettre :

mysql_select_db($database);

Share this post


Link to post
Share on other sites

Désolé de la reponse tardive,j'etais au boulot je viens de rentrer :D

ça ne marche toujours pas ,alors peut etre que je n'ai rien compris :nono:

je colle le code que je met ce sera plus facile pour vous de detecter l'erreur

$database = "xxxxxxxxxxx"; 
mysql_select_db($database);
$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

Share this post


Link to post
Share on other sites

$database = "xxxxxxxxx"; 
mysql_select_db($database);
$re = mysql_query("SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))");
$r = mysql_fetch_assoc($re);

Essaies de coller la requète dans phpmyadmin.

Pour cela, tu remplaces les lignes ci-dessus par ceci :

$database = "xxxxxxxxx"; 
mysql_select_db($database);
$query= "SELECT count(session_id) FROM phpbb_sessions WHERE UNIX_TIMESTAMP() BETWEEN session_start AND (session_start+(60*15))";
$re = mysql_query($query);
echo"<p>".$query."<p>";
echo"<p>".$re."<p>";
$r = mysql_fetch_assoc($re);
echo"<p>".$r."<p>";
die("");

Profites de l'occasion pour nous poster l'erreur exacte renvoyée par ces lignes.

N'oublies pas de modifier le nom de la base de données.

J'ai édité ton post, il ne sert à rien (dans ce cas) d'afficher le nom de ta base ;)

ps : Je ne connais pas les forums phpbb, mais s'il n'y a pas de champs session_start, il est 'normal' que ca ne marche. S'il y a un champ 'session_start', il n'est pas vraiment normal qu'ils donnent le nom d'une fonction php pour servir de nom de champ..

Share this post


Link to post
Share on other sites

Salut

je tape la requête dans ma base de donnée et même dans sessions phpbb et il ne e passe rien en fait on dirais que ça a marché et quand je regarde l'index sur le site ça ne fonctionne pas :gueule:

Share this post


Link to post
Share on other sites

Tu devrais pas mettre une connexion à ta base ?

Au cas ou le script aurrais cloturé cette connexion précédement ?

Share this post


Link to post
Share on other sites

Lafosca doit avoir raison, il faut te connecter à ta base avant si ce n'est pas fait :

mysql_connect("xxx","xxx","xxx");

Ensuite après vérification plus avant, je te reconfirme que la requête fonctionne, et que le chiffre correspond avec les utilisateurs en ligne donnés en bas de phpbb, donc ça marche.

Je te recommande la lecture http://www.phpdebutant.org , utiliser des scripts comme phpbb c'est bien, mais dès qu'on veut un truc un peu perso, il faut s'investir un peu plus en programmation ;)

Share this post


Link to post
Share on other sites

Salut

merci pour le lien ;)

j'ai donc mis ce code dans la page d'accueil

mysql_connect("xxx","xxx","xxx");

et la j'ai ce message d'erreur

Warning: mysql_connect(): Unknown MySQL Server Host '*****' (0) in /home/www/pcparadise/www/index.php on line 1046

Share this post


Link to post
Share on other sites

tu t'es trompé dasn l'adresse de ton host comme le signifie le message d'erreur.

Edited by hcplayer

Share this post


Link to post
Share on other sites

mysql_connect("HOST","LOGIN","PASS");

Ca donnera donc :

mysql_connect("mysql.4.celeonet.fr","ton login","mot de passe");

Share this post


Link to post
Share on other sites

je commence a avoir un coup de pompe moi :boude:

meme message d'erreur...pourtant tout est bon

Warning: mysql_connect(): Unknown MySQL Server Host 'mysql.4.celeonet.fr' (0) in /home/www/pcparadise/www/index.php on line 1046

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...