【问题标题】:Multiple auto-complete field with different values具有不同值的多个自动完成字段
【发布时间】:2012-12-18 13:57:41
【问题描述】:

我有两个字段

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


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

我正在使用单个 php 文件句柄自动完成。即 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 将只获取用户名,如何使其表现不同

【问题讨论】:

    标签: php autocomplete


    【解决方案1】:

    尝试这样,将两个参数传递给自动完成,并将 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";
            }
        }
    

    【讨论】:

    • 好吧我不打算深入使用这个js var source = 'autocomplete.php?q1='+$("#user-name").val()+"&q2=user_name" $("#user-name").autocomplete(source, { selectFirst: true }); var source2 = 'autocomplete.php?q1='+$("#admin-name").val()+"&q2=admin_name" $("#user-name").autocomplete(source2, { selectFirst: true } );
    • $("#user-name").val() 为空,我什么时候需要在每个 keyup 或文档准备好时调用此方法?
    • 使用测试更改参数来检查
    【解决方案2】:

    <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, 
    

    【讨论】:

    • 我知道如何调用多个自动完成实例。 autocomplete.php 对用户名和管理员名有何不同???/
    猜你喜欢
    • 2020-01-23
    • 2023-03-06
    • 1970-01-01
    • 2013-08-06
    • 1970-01-01
    • 1970-01-01
    • 2011-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多