Автозаполнение входов при изменении выбора

Migl Araújo спросил: 03 ноября 2018 в 08:41 в: php

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

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

Для этого я использую JavaScript, связанный с php-страницей, которая делает запрос к БД и заполняет формы ввода, но у меня должна быть какая-то ошибка что я не могу понять.

Я немного новичок в PHP, поэтому мне трудно понять, что не так с моим кодом.

Это form

    <form action="insert/insertReport.php" id="newReport" method="get">
       <div id="txtHint" class="form-group"> </div>
       <div class="form-group">
         <label for="namefat">Cliente</label>
         <br>
         <select class="selectpicker" data-live-search="true" class="form-control" name="client" id="client" onchange="showUser(this.value)">         <?php
          while ($row = mysqli_fetch_array($query))
            { echo ' 
               <option>'.$row['namefat'].'</option>';            }?>          </select>
       </div>
</form>

Эта форма в настоящее время находится на странице newreports.php, и это запрос, который я использую для заполнения параметров.

<?php
$db_host = 'localhost';
$db_user = 'user';
$db_pass = 'pass';
$db_name = 'name';$conn = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
if (!$conn) {
    die ('Error: ' . mysqli_connect_error());   
}$sql = 'SELECT * 
        FROM clients';$query = mysqli_query($conn, $sql);if (!$query) {
    die ('SQL Error: ' . mysqli_error($conn));
}
?>

Итак, как я уже говорил, я использую JavaScript, чтобы сделать запрос в БД об изменениях. Это JS.

function showUser(str) {
        if (str == "") {
            document.getElementById("txtHint").innerHTML = "";
            return;
        } else { 
            if (window.XMLHttpRequest) {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            } else {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            xmlhttp.onreadystatechange = function() {
                if (this.readyState == 4 && this.status == 200) {
                    document.getElementById("txtHint").innerHTML = this.responseText;
                }
            };
            xmlhttp.open("GET","getclient.php?namefat="+str,true);
            xmlhttp.send();
        }
    }

А это страница php, которая обрабатывает запрос.

    <?php
    $q = intval($_GET['namefat']);    $db_host = 'localhost';
        $db_user = 'user';
        $db_pass = 'pass';
        $db_name = 'name';        $con = mysqli_connect($db_host, $db_user, $db_pass, $db_name);
        if (!$conn) {
            die ('Error: ' . mysqli_connect_error());   
        }    mysqli_select_db($con,"ajax_demo");
    $sql="SELECT * FROM clients WHERE namefat = '".$q."'";
    $result = mysqli_query($con,$sql);while($row = mysqli_fetch_array($result)) {
    echo "<input type="text" name="region" class="form-control" id="region" value=".$row['region']">";
    echo "<input type="text" name="client_type" class="form-control" id="client_type" value=".$row['client_type']">";
}
mysqli_close($con);
?>

По какой-то причине входные данные не заполняются автоматически. Я оставляю отпечаток структуры таблицы базы данных.

СТРУКТУРА ТАБЛИЦЫ DB

Кто-нибудь может понять, что я делаю неправильно?

Спасибо заранее.


0 ответов