Problème pour compter le nombre de connectés.

Mammouth du PHP | 1511 Messages

07 oct. 2006, 18:47

Bonjour a tous,
j'ai fait il y a quelques jours une fonction pour compter le nombre de connectés au site, mais j'ai un petit problème.
Voici ma fonction telle qu'elle est actuellement:
function connected_users()
{
	global $db;
	$db->query("SELECT COUNT(sess_id) as connected_users FROM sessions WHERE sess_timestamp < 300 AND membres_user_id!='-1'");
	$data = $db->ftchArr();
	extract($data);
	return $connected_users;
}
Ce que j'aimerais maintenant, c'est dans la même requête, comptabiliser le nombre d'utilisateur "invités" et le nombre d'utilisateur enregistrés, mais cela dépasse de loin mes compétances.
Je remercie d'avance les personnes qui pourraient m'aider.
@+ ;)

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

07 oct. 2006, 19:44

Ce que j'aimerais maintenant, c'est dans la même requête, comptabiliser le nombre d'utilisateur "invités" et le nombre d'utilisateur enregistrés
Le plus simple serait de rajouter un champs "est_membre" dont la valeur est 1 ou 0 selon que l'utilisateur est membre ou invité. Ensuite tu n'auras plus qu'à grouper les résultats

Code : Tout sélectionner

SELECT COUNT(sess_id) AS connected_users, est_membre FROM sessions WHERE sess_timestamp < 300 GROUP BY est_membre
C'est le plus simple et le plus performant. Sinon, tu as d'autres moyens de le faire en te basant sur le champs membres_user_id mais ce sera forcément plus lent.

Mammouth du PHP | 1511 Messages

07 oct. 2006, 19:53

Hmm :)
Je vais regarder ca :)