带有下拉菜单的自动填充搜索栏

时间:2016-05-27 11:12:26

标签: php

我想做的就是这个https://i.gyazo.com/5ba7b0ecbd877c4b8b432cf9d55bb848.gif,但我一直试图做2天而没有进展, 但我现在所拥有的是https://i.gyazo.com/1fad863c3c1379e9de8107bfd349377e.gif而且我真的不知道如何将它变成我想要的东西

我的代码:

<?php



    include("db-tilkobling.php");

    $sqlSetning="SELECT navn FROM flyplass ORDER BY lokasjon;";
    $sqlResultat=mysqli_query($db,$sqlSetning) or die ("ikke mulig å hente data fra databasen");

    $antallRader=mysqli_num_rows($sqlResultat);

    for ($r=1;$r<=$antallRader;$r++)
    {
        $rad=mysqli_fetch_array($sqlResultat);
        $navn=$rad["navn"];


        print("<option value='$navn'> $navn</option>");
    }
?>

在另一个php文件中:

<form method="post" action="" id="billett" name="billett" onsubmit = "">
    Fly fra <select name='navn' id='navn'>
        <?php include("klasse-boks.php"); ?>
    </select>
    Fly til <select name='navn' id='navn'>
        <?php include("klasse-boks.php"); ?>
    </select>
    <input type="submit" value="Søk og Bestill" id="fortsett" name="fortsett">
</form>

1 个答案:

答案 0 :(得分:0)

如果你使用jquery,有一个自动完成功能,简单而好。

对于jquery自动填充,

<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>

对于自动填充,

   <script>

    $(function() {
        $( "#countries" ).autocomplete({
            source: 'countries.php'
        });
    });
    </script>

这里我们将有一个名为'countries'的id,我们可以创建另一个用于获取数据的PHP脚本。您可以在上面的代码中看到。

我们的HTML就像这样

<div class="ui-widget">
    <label for="countries">Countries: </label>
    <input id="countries">
</div>

最后,PHP源文件,

我们可以从查询字符串中通过术语字段($_GET['countries'])获取文本框值。现在我们将从技能表中获取数据并按$_GET['countries']过滤技能。最后,我们将以JSON格式返回已过滤的技能数据。

<?php
    //database configuration
    $dbHost = 'localhost';
    $dbUsername = 'root';
    $dbPassword = '';
    $dbName = 'countries'; //database name

    //connect with the database
    $db = new mysqli($dbHost,$dbUsername,$dbPassword,$dbName);

    //get search term
    $searchTerm = $_GET['countries'];

    //get matched data from countries table
    $query = $db->query("SELECT * FROM countries WHERE country LIKE '%".$searchTerm."%' ORDER BY country ASC");

    while ($row = $query->fetch_assoc()) 
    {
        $data[] = $row['country'];
    }

    //return json data
    echo json_encode($data);
?>

我希望你有个主意。你可以学习它。这不适用于 points / upvotes 。祝你好运。