具有不同值的多个自动完成字段

时间:2012-12-18 05:41:41

标签: php autocomplete

我有两个字段

<input type="text" id="user-name" />
<input type="text" id="admin-name" />


 $("#user-name").autocomplete("autocomplete.php", {
        selectFirst: true
    });

我正在使用单个php文件句柄自动完成.i.e autocomplete.php

    $q=$_GET['q'];
    $my_data=mysql_real_escape_string($q);
    $mysqli=mysqli_connect('localhost','root','','test') or die("Database Error");
    $sql="SELECT user_name FROM users WHERE user_name LIKE '%$my_data%' ORDER BY user_name";
    $result = mysqli_query($mysqli,$sql) or die(mysqli_error());

    if($result)
    {
        while($row=mysqli_fetch_array($result))
        {
            echo $row['user_name']."\n";
        }
    }

我得到了用户名的预期输出,但是如何使用相同的php文件为admin-name做同样的事情。默认情况下,autocomplete.php将仅提取用户名,如何使其行为不同

2 个答案:

答案 0 :(得分:0)

尝试这样,将两个参数传递给自动完成,并将q2作为所需的字段传递   $ Q1 = $ _ GET [ 'Q1'];   $ q2 = $ _GET ['q2']

    $my_data=mysql_real_escape_string($q);
    $mysqli=mysqli_connect('localhost','root','','test') or die("Database Error");
    $sql="SELECT user_name FROM users WHERE {$q2} LIKE '%$my_data%' ORDER BY user_name";
    $result = mysqli_query($mysqli,$sql) or die(mysqli_error());

    if($result)
    {
        while($row=mysqli_fetch_array($result))
        {
            echo $row['user_name']."\n";
        }
    }

答案 1 :(得分:0)

<input type="text" id="admin-name" class="autofill" /> 

$("#user-name").autocomplete("autocomplete.php", {
        selectFirst: true
    }); /// here you used id selector so function call a unique id 

 $(".autofill").autocomplete("autocomplete.php", {
        selectFirst: true
    }); /// we use the class for multiple handlings 

i think it works. if not show me the error,