par
i974 » 22 août 2005, 14:43
Après quelques recherches approfondies sur le forum ^^
j'ai trouvé un post très interressant:
ici
J'ai tenté de m'en inspirer pour faire ce compteur de membres connectés
Je le poste ici au cas où ca pourrait servir à quelqu'un, ou aux autres
pour corriger mes fautes eventuelles (comme dit plus haut, je suis un debutant)
Ce qu'il manque à ce script:
-la prise en charge du changement de jour je crois ^^
car si quelqu'un se log à 23h59, et qu'a 00h01 il n'est plus là, il fodra attendre un jour encore pour qu'il soit viré de la base
J'attends vos remarques ^^
$date = date("Y-m-d");
$time=(date("H") * 60) + date("i"); //heure du jour en minutes
$heuremax = 5; //temps de connexion max: 5 minutes
$limite = $time-$heuremax;
if (isset($_SESSION['pseudo']))
{
$qui = $_SESSION['pseudo'];
//echo $qui;
//On verifie si il est ds la table
$sql = "SELECT time FROM tml_sessions WHERE qui='$qui'";
$res = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
//$ligne = mysql_fetch_object ($res);
$num_rows = mysql_num_rows($res);
if ($num_rows>0) { // Si OUI on l'update
$sql = "UPDATE tml_sessions SET time='$time' WHERE qui='$qui'";
$res=mysql_query($sql) or die ("requete invalide update session");
} else //SI NON on l'ajoute ds la base
{
$sql = "INSERT INTO tml_sessions(qui,time) VALUES('$qui','$time')";
$res = mysql_query($sql) or die ("requete invalide insertion ds la base");
}
}
//SUPPRESSION DES VIEILLES DONNEES
$sq2 = "DELETE FROM tml_sessions WHERE time<'$limite'";
$res = mysql_query($sq2) or die ("erreur de suppression dans la base");
// MODULE MEMBRES CONNECTES
//
//
$sql = "SELECT * FROM tml_sessions";
$req = mysql_query($sql) or die('Erreur SQL : <br />'.$sql);
if (mysql_num_rows($req) > 0)
{
echo "<span class=\"Style2\">Membres en ligne:";
while ($valeur = mysql_fetch_array($req))
{
$who = $valeur["qui"];
echo "<b> <a href='info_mbr.php?who=$who' title='Voir les infos sur $who'>$who</a></b>";
}
echo "</span><br>";
}
//
//
// FIN MODULE MEMBRES CONNECTES