mysql — извлечение данных из двух таблиц в php без объединения таблиц

Я все еще изучаю PHP и MySql и испытываю трудности с панелью поиска. Моя проблема в том, что я смог выбрать две таблицы из базы данных, но у меня возникли проблемы с циклом while, когда он выбрасывает все в строку поиска или иногда ничего. Я использую плагин typeahead.js для этого. Я хочу, чтобы сначала показывались страны, а затем предлагались домены, и я не хочу присоединяться к таблицам. Пожалуйста помоги.

Это мой сценарий:

    <script>
$(document).ready(function(){
$('input.typeahead').typeahead({
name: 'typeahead',
remote:'search2.php?key=%QUERY',
limit : 30
});
});
</script>

Это мой php:

    <?php
$key=$_GET['key'];
$array = array();
$con=mysql_connect("localhost","root","");
$db=mysql_select_db("test_db",$con);
$query=mysql_query("select * from tbl_sample where country LIKE '%{$key}%' AND domain LIKE '%{$key}%' ");

while($row=mysql_fetch_assoc($query)){
$array[] = $row['country'];
$array[] = $row['domain'];
}
echo json_encode($array);
?>

2

Решение

То, что вы спрашиваете, немного расплывчато, учитывая, что вы вообще не описали нам вторую таблицу, поэтому я предполагаю, что вы просто хотите сделать два отдельных выбора из одной и той же таблицы. Это сделано так, и страны будут на первом месте:

$query=mysql_query("select country as 'result' from tbl_sample where country LIKE '%{$key}%' UNION select domain as 'result' from tbl_sample where domain LIKE '%{$key}%' ");

while($row=mysql_fetch_assoc($query)){
$array[] = $row['result'];
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]