Le plus simple reste de mettre à jour à chaque chargement de page le timestamp de connexion du membre enregistré, et dans ta page, il te suffirait d'une condition SQL dans ta clause WHERE pour avoir les personnes connectées dans les X dernières minutes...
Dans mon exemple, j'utilise la date au format timestamp, c'est à dire le nombre de secondes écoulées depuis le 1er Janvier 1970 1h00
<?php
mysql_query("UPDATE table_membre SET champ_date = date_actuelle WHERE membre = membre"); // Où `date_actuelle`est l'équivalent de l'heure courant = date("U");
?>
Et dans ta page affichant tes membres connectés depuis par exemple, les 2 dernières minutes, tu n'as plus qu'à ajouter une condition à ta requête :
<?php
$date_moins_deux_minutes = date("U") - 120; // On retire deux minutes (en secondes) à la date courante
mysql_query("SELECT * FROM table_membre WHERE champ_date>".$date_moins_deux_minutes.""); // On ne sélectionne que les membres connectés il y a au plus 2 minutes
?>
Bon évidement, il ne faut pas recopier bêtement ce code, il n'est là que pour te donner une idée de la façon de procéder.
(P.S : J'ai un trou de mémoire, SET date_actuelle = timestamp mettrait à jour avec le timestamp actuel ? Je sais que MySQL a certaines variables réservées (d'où l'utilité des ` pour les protéger)... Merci)