jquery ui autocomplete html表单多输入类型和mysql

时间:2015-03-23 13:37:05

标签: php jquery mysql

我有一个多输入类型的表单 我知道如何使用外部源文件(在我的情况下是PHP)从mysql数据库中检索数据,但我不知道如何将每个列从mysql数据库关联到正确的输入字段而不重复代码? 请帮帮我..

HTML:

<form id="form" class="form" autocomplete="off" action="" method="POST">
    <input class="auto" type="text" name="client" value="" id="client" placeholder="Client Name" autofocus />
    <input class="auto" type="text" name="firstname" value="" id="firstname" placeholder="First Name" />
    <input class="auto" type="text" name="lastname" value="" id="lastname" placeholder="Last Name" />
</form>

PHP:

<?php
header('Content-Type: text/html; charset=utf-8'); 

include_once '../connection.php';

if (isset($_GET['term'])) {
    $return_arr = [];

    $query = ("SELECT DISTINCT client, FirstName, LastName
               FROM office_adv 
               WHERE client LIKE :term OR
                     FirstName LIKE :term OR
                     LastName LIKE :term");

    $sth = $db->prepare($query);
    $sth->execute(array('term' => '%' .$_GET['term'] . '%'));

    while ($row = $sth->fetch(PDO::FETCH_ASSOC)) {
        $return_arr[] = $row['client'];
        $return_arr[] = $row['FirstName'];
        $return_arr[] = $row['LastName'];
    }
    echo json_encode($return_arr, JSON_UNESCAPED_UNICODE);
}
?>  

JQUERY:

$(function() {
    $(".auto").autocomplete({
        source: "php/clientFind.php",
        minLength: 2,
        autoFocus: true
    });
});  
再次感谢!!

1 个答案:

答案 0 :(得分:0)

如果您希望每个输入te具有相同的自动完成列表,那么您做得很好。

如果要为每个输入创建特定的自动完成列表,则必须对每个输入应用不同的autocomplete()方法调用,并在数据库中选择正确的数据。

如果您想要使用与您手动填充的输入匹配的一行中的数据预填充所有字段,您可能会误解自动填充的功能。