Zum einen würde ich >= statt = als Vergleichsoperator in deinem Query in der Funktion online() benutzen. Und zum Anderen ist es schneller mit
COUNT() anstatt mit mysql_num_rows() zu arbeiten. Außerdem war die Variable
$online_time in der Funktion online() gar nicht bekannt. Du musst diese Variable also entweder als Parameter übergeben, in der Funktion definieren oder sie hier mit global holen:
PHP-Code:
<?php
function online()
{
global
$conn;
$online_time = 300;
$sql = "SELECT
COUNT(ip) AS anzahl
FROM
users
WHERE
lastact >= " . (time() - $online_time);
$result = mysql_query($sql);
$row = mysql_fetch_object($result);
return $row->anzahl;
}
?>