65. Пошук по кільком таблицям
В дазі даних знаходиться кілька однотипних таблиць
spain1
id | Title | Content |
---|
1 | Іспанія | Країна ЄС |
2 | Португалія | Лісабон |
3 | Коста Ріка | Іспанська мова |
spain2
id | Title | Content |
---|
1 | С. Далі | Іспанський митець |
2 | Д. Орвелл | Ерік Артур Блер |
3 | Л. Українка | Лари́са Петрі́вна Ко́сач-Кві́тка |
4 | Дієго Веласкес | місто Севіл'я, Іспанія |
spain3
id | Title | Content |
---|
1 | Реал, Мадрид | Іспанський футбольний клуб |
2 | Тоттенхем | Лондон |
3 | Іспанська архітектура | Санта-Марія-дель-Мар |
Виберемо з таблиць все "іспанське", а точніше здійснемо пошук по частині слова "Іспан" у всіх таблицях за допомогою оператора UNION ALL
id | Title | Content |
---|
1 | Іспанія | Країна ЄС |
3 | Коста Ріка | Іспанська мова |
1 | С. Далі | Іспанський митець |
4 | Дієго Веласкес | місто Севіл'я, Іспанія |
1 | Реал, Мадрид | Іспанський футбольний клуб |
3 | Іспанська архітектура | Санта-Марія-дель-Мар |
<?php
$word="Іспан";
$where = "WHERE content LIKE '%{$word}%' OR title LIKE '%{$word}%'";
$sql = '
(SELECT * FROM `spain1` '.$where.') UNION ALL
(SELECT * FROM `spain2` '.$where.') UNION ALL
(SELECT * FROM `spain3` '.$where.')
';
$query = $pdo->query($sql);
echo "<table><tr><th>id</th><th>Title</th><th>Content</th></tr>";
while ($row = $query->fetch(PDO::FETCH_LAZY)) {
echo "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td></tr>";
}
echo "</table><br/>";
?>
далі ✏