Aller au contenu
austin powers

nombre de connectés

Noter ce sujet :

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

Partager ce message


Lien à poster
Partager sur d’autres 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 ;)

Partager ce message


Lien à poster
Partager sur d’autres 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:

Partager ce message


Lien à poster
Partager sur d’autres 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 :)

Partager ce message


Lien à poster
Partager sur d’autres 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:

Modifié par austin powers

Partager ce message


Lien à poster
Partager sur d’autres 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);

Partager ce message


Lien à poster
Partager sur d’autres 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 ;)

Modifié par hcplayer

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres 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:

Partager ce message


Lien à poster
Partager sur d’autres 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);

Partager ce message


Lien à poster
Partager sur d’autres 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);

Partager ce message


Lien à poster
Partager sur d’autres 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..

Partager ce message


Lien à poster
Partager sur d’autres 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:

Partager ce message


Lien à poster
Partager sur d’autres sites

Tu devrais pas mettre une connexion à ta base ?

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

Partager ce message


Lien à poster
Partager sur d’autres 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 ;)

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres sites

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

Ca donnera donc :

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

Partager ce message


Lien à poster
Partager sur d’autres 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

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×