多选自动填充文本框无法正常工作

时间:2018-06-19 06:49:18

标签: php mysqli

代码:

<script>
    $(function() {
        function split( val ) {
            return val.split( /,\s*/ );
        }
        function extractLast( term ) {
            return split( term ).pop();
        }
        $( "#company" ).bind( "keydown", function( event ) {
            if ( event.keyCode === $.ui.keyCode.TAB &&
                $( this ).autocomplete( "instance" ).menu.active ) {
                event.preventDefault();
            }
        })
        .autocomplete({
            minLength: 1,
            source: function( request, response ) {
                $.getJSON("company-skills.php", { term : extractLast( request.term )},response);
            },
            focus: function() {
                return false;
            },
            select: function( event, ui ) {
                var terms = split( this.value );
                terms.pop();
                terms.push( ui.item.value );
                terms.push( "" );
                this.value = terms.join( ", " );
                return false;
            }
        });
    });
</script>

<input type="text" name="company" id="company" placeholder="Job title, skills or company" class="form-control">

<?php
    include('config.php'); 
    $query = "SELECT company_name FROM company WHERE company_name LIKE '%".$searchTerm."%' ORDER BY company_name ASC;";
    $query .= "SELECT key FROM skill WHERE key LIKE '%".$searchTerm."%' ORDER BY key ASC;";

    mysqli_multi_query($con,$query);
    $result = mysqli_store_result($con);

    while($row = mysqli_fetch_assoc($result)) 
    {
        $data[] = $row['company_name'];
    }

    mysqli_free_result($result);
    mysqli_next_result($con);

    $result = mysqli_store_result($con);

    while ($row = mysqli_fetch_assoc($result)) {
        $data[] = $row['key'];
    }  
    echo json_encode($data);
?>

在这段代码中,我创建了一个多选自动完成文本框,当我在文本框中写入内容时,它总是以&#34; A&#34;我是否从&#34; B&#34;或者任何字母表例如:如果我想写TATA,它会显示结果&#34; A&#34;信我不明白为什么?那么我该如何解决这个问题?请帮助我。

谢谢

2 个答案:

答案 0 :(得分:0)

在您的第一个查询中:

company_name

您按ASCORDER BY company_name ASC进行了排序。您可以删除查询中的<rewrite name="rule-1" pattern="^/context A/(.*resource)" substitution="/context B/resource" flags="R"/> 。此类查询也没有任何相关点,因此结果可能不是您想要的结果。

答案 1 :(得分:0)

更改查询: 所以现在如果你从A开始,只有那些公司会显示名称以'A'开头

有关详情:Mysql LIKE

$query = "SELECT company_name FROM company WHERE company_name LIKE $searchTerm."%' ORDER BY company_name ASC;";
相关问题