Tabella:
Codice PHP:
CREATE TABLE `online` (
`id_nick` smallint unsigned NOT NULL default '1',
`nick` varchar(25) NOT NULL default '',
`ip` varchar(40) NOT NULL default '',
`time` int unsigned NOT NULL default '0',
`visible` tinyint NOT NULL default '0' -- 1 = utente invisibile ( privato )
)TYPE=MyISAM DEFAULT CHARSET=utf8;
Query:
Codice PHP:
SELECT
COUNT(n1.nick) as num_guests, // Questo campo seleziona i guest
COUNT(n2.nick) as num_hidden, // Questo gli utenti "invisibili"
COUNT(n3.nick) as num_users // questo il numero di utenti "visibili"
FROM online as n1
LEFT JOIN online as n2 ON n2.visible = 1 // Seleziona il numero di utenti "invisibili"
LEFT JOIN online as n3 ON n3.nick <> 'guest' AND n3.visible = 0 // Seleziona gli utenti "visibili che non sono guest
WHERE n1.nick = 'guest'; // Seleziona i guest
Peccato che la query non funziona, mi restituisce 0 sugli utenti "invisibili" e 0 su quelli "visibili". Sui guest funziona...