Я изначально сделал так, после чего мой VDS-сервер благополучно лёг:
$i=$n=0;
$limit = 10;
while ($n<$limit) {
$query = mysql_query("SELECT post_id, topic_id, forum_id, poster_id, post_time, post_subject FROM phpbb_posts ORDER BY post_id DESC LIMIT $i,1", $_P['db']);
$row = mysql_fetch_array($query);
if ($auth->acl_get('f_read', $row['forum_id'])) { // есть ли у юзера доступ
//вытаскиваем имя пользователя и цвет его ника
$query2 = mysql_query("SELECT username, user_colour FROM `phpbb_users` WHERE user_id=".$row['poster_id']." LIMIT 1", $_P['db']);
$row2 = mysql_fetch_array($query2);
//здесь идёт вывод через echo
$n++;
}
$i++;
}
При обновлении страницы тут делается 20 маленьких запросов в лучшем случае. Короче, я сейчас думаю в сторону mysql_unbuffered_query.