Показать сообщение отдельно
  #6 (permalink)  
Старый 04.08.2012, 13:26
Аватар для Freakmeister
Аспирант
Отправить личное сообщение для Freakmeister Посмотреть профиль Найти все сообщения от Freakmeister
 
Регистрация: 15.01.2011
Сообщений: 61

Я изначально сделал так, после чего мой 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.
Ответить с цитированием