Всем доброго времени суток! Очень нужна помощь! Написал поиск по адресу себе на сайт, всего 2 формы: улица, дом. Адреска залита одной таблицей MySQL. Добавил 2 скрипта автозаполнения. Что мне нужно сделать, что бы после ввода улицы, второе автозаполнение показывало дома на этой улице, а не все что есть в столбце. Подскажите только направление: связать скрипты, разделить таблицу или что-то другое.
Код (Text): $searchTerm2 = $_GET['term']; $query2 = $db->query("SELECT DISTINCT Dom FROM adress WHERE Dom LIKE '".$searchTerm2."%' LIMIT 10"); $skillData2 = array(); if($query2->num_rows > 0){ while($row2 = $query2->fetch_assoc()){ $data2['value'] = $row2['Dom']; array_push($skillData2, $data2); } } echo json_encode($skillData2); Вот скрипт для автозаполнения, выведен в отдельный файл. Такой же для улицы. Пытался сюда добавить функцию через Include из основного запроса как условие, но не хватает знаний. Пожалуйста, подскажите направление.
Опиши структуру таблиц. Чтобы получить информацию, её надо иметь. Функцию из запроса применить можно, но что она выбирает? Тебе же нужно по условию. Короче, одного скрипта мало. Надо и другой сюда выложить,чтобы картинка полной была.
Это скрипт основного запроса в базу. Код (Text): if(isset($_POST['submit'])){ $search = $_POST['search']; $search2 = $_POST['search2']; $query = mysqli_query($connect, "SELECT * FROM `adress` WHERE `Stret` LIKE '%$search%' AND `Dom` LIKE '$search2'"); while($row = mysqli_fetch_assoc($query)) echo ("<a href='https://................'>"."<img src='". $row['prov']. "' alt='' />"), Это скрипт автозаполнения. Код (Text): <script> $(function() { $("#search2").autocomplete({ source: "search2.php"}); }); </script> Таблица одна, вида: Stret; Dom; prov;
Взять скрипт основного запроса за основу и переделать строку запроса так, чтобы "SELECT * FROM `adress` WHERE `Stret` LIKE '%$search%'. Тогда результат работы конструкции $row = mysqli_fetch_assoc($query) будет содержать все дома запрошенной улицы.
Не, мне не нужно что бы в основном запросе скрипт выдавал все дома. Вопрос то в автозаполнении. Нужно что бы автозаполнение выдавало дома только той улицы, что ввели в первой форме поиска. В первом сообщении я все описал.
Несколько дней проб и попыток, но у меня так и не получилось реализовать, что вы предложили. Смысл я понял, сделал Код (Text): $query2 = $db->query("SELECT DISTINCT Dom FROM adress WHERE Stret LIKE '".$searchTerm2."%' LIMIT 15"); . Он действительно выдает дома по введеной во вторую форму улице. Но мне нужно что бы я вводил улицу в первую форму, а при вводе первой цифры дома во второй форме автозаполнение выдавало варианты домов на этой улице. Я так понял, мне нужно $searchTerm из первого файла включить во второй файл.