1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-15 13:34:41 +01:00

SQLite does not support certain usage of COUNT(DISTINCT *), thus we must emulate it

git-svn-id: file:///svn/phpbb/trunk@6090 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
David M 2006-06-17 18:05:25 +00:00
parent 1c02e24333
commit 4b1af3e32c

View File

@ -87,10 +87,24 @@ $guest_counter = 0;
// Get number of online guests (if we do not display them)
if (!$show_guests)
{
$sql = 'SELECT COUNT(DISTINCT session_ip) as num_guests
FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time >= ' . (time() - ($config['load_online_time'] * 60));
switch (SQL_LAYER)
{
case 'sqlite':
$sql = 'SELECT COUNT(session_ip) as num_guests
FROM (
SELECT DISTINCT session_ip
FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time >= ' . (time() - ($config['load_online_time'] * 60)) .
')';
break;
default:
$sql = 'SELECT COUNT(DISTINCT session_ip) as num_guests
FROM ' . SESSIONS_TABLE . '
WHERE session_user_id = ' . ANONYMOUS . '
AND session_time >= ' . (time() - ($config['load_online_time'] * 60));
}
$result = $db->sql_query($sql);
$guest_counter = (int) $db->sql_fetchfield('num_guests');
$db->sql_freeresult($result);