Дозаполнение полей (autocomplete) с учетом уже введенных значений

195
05 сентября 2018, 04:10

Есть форма:

<form action="#">
            <p><label>Номер АЗС:</label> <input id="number" type="text" autocomplete="off"></p>
            <p><label>Регион:</label> <input id="region" type="text" autocomplete="off"></p>
            <p><label>Город:</label> <input id="city" type="text" autocomplete="off"></p>
            <p><label>Улица:</label> <input id="street" type="text" autocomplete="off"></p>
        </form>

В JS следующее:

$(function(){
$('#number').autocomplete('data.php?mode=number', {
    width: 200,
    max: 20
});

$('#region').autocomplete('data.php?mode=region', {
    width: 200,
    max: 20
});
$('#city').autocomplete('data.php?mode=city', {
    width: 200,
    max: 20
});
    $('#street').autocomplete('data.php?mode=street', {
    width: 200,
    max: 20
});});

PHP:

switch ($_GET['mode']) {
case 'number': 
    $sRequest = "SELECT DISTINCT `number_azs` FROM `address` WHERE `number_azs` LIKE '%{$sParam}%'";
    $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
    foreach ($aItemInfo as $aValues) {
        echo $aValues['number_azs'] . "\n";
    }
    break;
case 'region': 
    $sRequest = "SELECT DISTINCT `region_azs` FROM `address` WHERE `region_azs` LIKE '%{$sParam}%'";
    $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
    foreach ($aItemInfo as $aValues) {
        echo $aValues['region_azs'] . "\n";
                }
    break;
        case 'city': 
    $sRequest = "SELECT DISTINCT `city_azs` FROM `address` WHERE `city_azs` LIKE '%{$sParam}%'";
    $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
    foreach ($aItemInfo as $aValues) {
        echo $aValues['city_azs'] . "\n";
                }
    break;
        case 'street': // Используем базу данных как источник данных
    $sRequest = "SELECT DISTINCT `street_azs` FROM `address` WHERE `street_azs` LIKE '%{$sParam}%'";
    $aItemInfo = $GLOBALS['MySQL']->getAll($sRequest);
    foreach ($aItemInfo as $aValues) {
        echo $aValues['street_azs'] . "\n";
                }
    break;}

Необходимо выбирать из БД значения с учетом тех, которые уже были введены в другие поля. Если при запросе в БД у других полей (с учетом введенных полей) остался один вариант - заполнять все поля.

Просьба подсказать в каком направлении двигаться, куда смотреть. По возможности рассказать подробнее, показать на примере.

READ ALSO
Ошибка при выполнении програмы

Ошибка при выполнении програмы

Всем привет, помоги решить данную проблемувот код: https://pastebin

150
Обработчик ошибок в контроллере Yii2

Обработчик ошибок в контроллере Yii2

У меня есть сайт, написаный на Yii2Сейчас пишу для него api

179
Product:find()-&gt;asArray-&gt;all(); как реализовать?

Product:find()->asArray->all(); как реализовать?

Не могу понять вот это: Product:find()->asArray->all(); Я понимаю какой результат будет после этого выражения но, как реализованы вот эти стрелочкиДа я знаю...

165
По какому урл доступны все посты пользовательской таксономии Wordpress?

По какому урл доступны все посты пользовательской таксономии Wordpress?

Я создал кастомный тип поста и привязал к нему таксономию, делал все по сайту камы, почти все урлы работают правильно кроме одного момента,...

189