Вывести запросы для каждого юзера

Есть список пользователей и для каждого пользователя нужно вывести соответствующие ему запросы. Проблема в том, что получается только вывести по одному запросу на юзера, т.е. надо сделать while-цикл, только я не понимаю как.

SQL
//Таблица пользователей

1   id                int(11)   
2   user              tinytext  
3   ip                text  
4   user_agent        varchar(255)      
5   request           int(11)           
6   cnt               int(11)       
7   date              timestamp 


//Таблица запросов

1   id                int(11)           
2   ip                text  
3   request_url       text      
4   user_id           int(11)
5   date              timestamp 

PHP код

$sql = "SELECT * FROM `online_adm` WHERE $where ORDER BY `date` DESC";
$Result = mysqli_query($CONNECT, $sql);
while ($row = mysqli_fetch_assoc($Result)) {

      $Row = mysqli_fetch_assoc(mysqli_query($CONNECT, "SELECT * FROM `online_ddos` WHERE `ip` = '$row[ip]' ORDER BY `date` DESC"));

      $USERS.='
           <div class="table_block">
              <div class="inner_block">
                  <p>'.$row['user'].'</p>
               </div>
              <div class="inner_block">
                  <ul class="droplist_menu">
                      <li>
                           <a href="#">Запросы</a>
                           <ul>
                               <li>'.$Row['request_url'].'</li>                  
                           </ul>
                      </li>
                  </ul>      
                  <div class="inner_block">
                     <p class="ip-hidden">'.$row['ip'].'</p>
                  </div>
                  <div class="inner_block" id="cnt_vw">
                     '.$cnt.'
                  </div>
                  <div class="inner_block">
                     <p>'.$row['data'].'</p>
                  </div>
           </div>
';} 
           
echo'
  <h5>Пользователи</h5>           
     <div class="table inline">
        <div class="table_block">
           <div>Пользователь</div>
           <div>Список запросов</div>
           <div>IP</div>
           <div id="cnt_vw"><i>(CNT)</i></div>
           <div>Время</div>
        </div>
     '.$USERS.'
     </div>';

Ответы (1 шт):

Автор решения: Condor

Совсем не обязательно производить запросы в цикле на каждую запись. Для этого можно использовать JOIN оператор. Например:

SELECT oa.*, od.request_url
        FROM online_adm oa
        LEFT JOIN online_ddos od ON oa.ip = od.ip
        WHERE $where
        ORDER BY oa.date DESC

Затем уже использовать полученные данные для формирования данных в таблице.

→ Ссылка