JeuWeb - Crée ton jeu par navigateur
Membres connectés - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Membres connectés (/showthread.php?tid=1014)



Membres connectés - eragon77 - 03-04-2007

Voici un petit script qui peut s'en doute être ameliorer :

la table :

Code PHP :
<?php 
CREATE TABLE connecte
(
id int(20) NOT NULL auto_increment,
pseudo varchar(255) NOT NULL default '',
timestamp varchar(255) NOT NULL default '',
connecte char(2) NOT NULL default '',
PRIMARY KEY (id)
)
TYPE=MyISAM;

le code :

Code PHP :
<?php
session_start
(); /// on demarre la session
mysql_connect(host, username, password); /// identifiant pour la bdd
mysql_select_db(bdd_name);

$pseudo = $_SESSION['login'];

///// on se connecte à la table "connecte "
$retour_connecte = mysql_query('SELECT COUNT(*) AS nbre_pseudo FROM connecte WHERE pseudo = '.$pseudo.' ');
$donnees = mysql_fetch_array($retour_connecte);

///// et on cherche si sont pseudo et dedant la table !
if ($donnees['nbre_pseudo'] == 0) /// si il n'y est pas ...
{
////// on l'insert dans la table.
mysql_query('INSERT INTO connecte (id,pseudo,timestamp,connecte) VALUES('','.$pseudo.', ' . time() . ',1)');
}
else
//// sinon
{
////// on mais à jour le temp (time())
mysql_query('UPDATE connecte SET connecte=1,timestamp=' . time() . ' WHERE pseudo='.$pseudo);
}

$timestamp_1min = time() - (60 * 1); //// 60 * 1 = 1 minute
mysql_query('DELETE FROM connecte WHERE timestamp < ' . $timestamp_1min); ////// supprimé tout pseudo dont le timestamp est inférieur à 1 minute ! (vous pouvez changer 1 minute par 5 mm ou plus)

////// ce morceau compte le nombre de membre ayant le statut 1 dans le champ "connecte" de la table connecte :p
$donnees_connecte_count = mysql_query('SELECT COUNT(*) AS nbre_pseudo FROM connecte WHERE connecte = 1');
while(
$donnees_count = mysql_fetch_array($donnees_connecte_count))
{
if(
$donnees_count['nbre_pseudo'] <= 0) //// si aucun pseudo à le status 1 alors il n'y à aucun membre connecte à l'espace membre !
echo 'Il n\'y à pas de membres connectés.'; ///// qu'est-ce que je disais :p
$donnees_connecte = mysql_query('SELECT * FROM connecte WHERE connecte = 1'); /// en revanche si il y à un/des connecté(s) !!
while($donnees_pseudo = mysql_fetch_array($donnees_connecte))
{

$connecte = $donnees_pseudo['pseudo']; /// on les affiches ..

echo $connecte; /// ici

}
}
?>

Et voila, c'est basique mais simple pour les débutants Smile


RE: Membres connectés - orditeck - 18-04-2007

L'aide pour ce script ce trouve à cette adresse :
http://www.jeuweb.org/board/showthread.php?tid=1548