У меня есть 2 таблицы, содержащие сообщения, а другие содержат пользователей.Looping sql SELECT query
Таблица сообщений содержит две идентификаторы, которые являются идентификаторами «UserOne» и «UserTwo».
Я выбираю другой идентификатор пользователя (не вошедшие один) и получить уникальные Идентификаторы только этого код
$usersEmails = array();
$query = "SELECT `UserOne`, `UserTwo` FROM `messages` WHERE (`UserOne`='$id' OR `UserTwo`='$id')";
if($query_run = mysqli_query($connect, $query)){
$num_rows = mysqli_num_rows($query_run);
if($num_rows > 0){
while($get = mysqli_fetch_assoc($query_run)){
$userOne = $get['UserOne'];
$userTwo = $get['UserTwo'];
if($userOne != $id){
array_push($usersEmails, $userOne);
}else if($userTwo != $id){
array_push($usersEmails, $userTwo);
}
}
}
}
$loopStop = count($usersEmails);
И вот началась проблема ..
Я хочу, чтобы выбрать тот уникальный пользователь Email используя их идентификаторы, которые я вставленные в этом массиве называется $ usersEmails
Я использовал этот код, чтобы показать уникальные пользователи Email:
for($x = $loopStop - 1; $x >= 0; $x--){
$query_two = "SELECT `Email` FROM `signup` WHERE `Id`='$usersEmails[$x]'";
$query_two_run = mysqli_query($connect, $query_two);
$get_two = mysqli_fetch_assoc($query_two_run);
$email = $get_two['Email'];
echo "$email";}
Я знаю, что это нехорошо зацикливать запрос на sql-запрос и его очень дорогие тоже любые идеи?
Спасибо и счастливого нового года
Вы не сделать запрос SQL в цикле. Запрос 'mysqli_query ($ connect, $ query)' запускает запрос. Цикл while просто вытягивает другую строку из объекта. – wogsland