Taking mordecai's example - you don't actually need a cron job for this...
In the users table, create a useroftheday column, the value put into this will be a timestamp.
On the page load, check if the day is the same or greater (server time only) if it is greater, then rand() the number of users and set the new useroftheday and insert the timestamp.
Then to display, just pick the user which has a value in the useroftheday column.
$query=mysql_query("SELECT useroftheday FROM users WHERE useroftheday!=''");
$time=mysql_fetch_row($query);
if (!date("d",$time)<!date("d",time()))
{
$query = mysql_query("SELECT username FROM users ORDER by rand() desc LIMIT 1");
$user=mysql_fetch_row($query);
$query=mysql_query("UPDATE users SET useroftheday=time() WHERE username='".$user."'");
}
Somethign like that anyway....