@DERUINO
frontend Разработчик

Как вывести данные из двух разных бд в 1 цикле?

Здравствуйте, подскажите, как можно вывести информацию из двух разных бд в 1 цикле. У меня пока получается только двумя циклами это сделать, можно ли как то одним?

$sql_table1 = $link_s1->prepare("SELECT * FROM `bans` ORDER BY `time` DESC");
	$sql_table1->execute();
	if($sql_table1->rowCount() > 0) {
		while($table = $sql_table1->fetch(PDO::FETCH_BOTH)) {

			$tmpban = $table['expires'];
			$timeConvert_end = $tmpban / 1000;
			$bantime = $table['time'];
			$timeConvert_start = $bantime / 1000;

			echo '<tr class="find"><td>'.$table['name'].'</td>';
			echo '<td>'.$table['banner'].'</td>';
			echo '<td>'.$table['reason'].'</td>';
			echo '<td>'.Date("H:i d.m.Y", $timeConvert_start).'</td>';
			if ($tmpban == '0') {
				print '<td class="perm">Перманент</td>';
			} else {
				print '<td>'.Date("H:i d.m.Y", $timeConvert_end).'</td>';
			}
		}
	}

	$sql_table2 = $link_s2->prepare("SELECT * FROM `bans` ORDER BY `time` DESC");
	$sql_table2->execute();
	if($sql_table2->rowCount() > 0) {
		while($table = $sql_table2->fetch(PDO::FETCH_BOTH)) {

			$tmpban = $table['expires'];
			$timeConvert_end = $tmpban / 1000;
			$bantime = $table['time'];
			$timeConvert_start = $bantime / 1000;

			echo '<tr class="find"><td>'.$table['name'].'</td>';
			echo '<td>'.$table['banner'].'</td>';
			echo '<td>'.$table['reason'].'</td>';
			echo '<td>'.Date("H:i d.m.Y", $timeConvert_start).'</td>';
			if ($tmpban == '0') {
				print '<td class="perm">Перманент</td>';
			} else {
				print '<td>'.Date("H:i d.m.Y", $timeConvert_end).'</td>';
			}
		}
	}
  • Вопрос задан
  • 371 просмотр
Решения вопроса 2
JaxAdam
@JaxAdam
Junior Full-Stack Developer
Сверху вам правильно подсказали. Оба запроса делаете, делаете execute(), а потом сразу фетчите в переменную. Получается две таблицы. Если в таблицах одинаковые элементы надо исключить используйте array_unique() и объединяйте. Потом перебирайте в цикле, как и хотели.
Ответ написан
FanatPHP
@FanatPHP
Чебуратор тега РНР
Сверху вам неправильно сказали.
Надо не маяться дурью, а сделать одну базу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы