使用PHP即时搜索

时间:2018-12-18 11:58:09

标签: php mysql search instant

我有一个运行良好且运行良好的查询,但是我想在搜索特定项目之前显示所有项目。当我单击搜索btn而不输入任何内容时,它显示了我的所有项目,我想显示它们而无需按搜索btn。

include_once('includes/db_connect.inc.php');
$output = '';
if (isset($_POST['search'])) {
    $searchq = $_POST['search'];
    $searchq = preg_replace("#[^0-9a-z]#i", "", $searchq);
    $sql_search = "SELECT * FROM teams WHERE teamnum LIKE '%$searchq%'";
    $query = mysqli_query($con, $sql_search) or die("Could not search!");
    $count = mysqli_num_rows($query);
    if ($count == 0) {
        $output = 'No search results';

    } else {
        while ($row = mysqli_fetch_array($query)) {

            $output .= "<a href='view-team.php?id={$row['id']}'><div class='match-child'>
            <div class='flex-inside-list'>
                <div class='alliance-vs'>
                <span>" . $row["teamnum"] ."</span>
                </div>
            </div></a>";
        }
    }
}

2 个答案:

答案 0 :(得分:0)

如果是同一页,则只需删除if(isset($_POST['search'])),因为下面的代码显然仅在if语句为true时才执行。

但是,您将必须为该按钮创建一种解决方法,然后才能重新工作。

如果应该在同一页上一遍又一遍地打印某些内容,我建议使用ajax。

答案 1 :(得分:0)

您可以使用查询串联来实现。首先获取所有记录,然后检查$ search是否为空?如果不是,则连接上一个查询。最后将数据发送到视图/ HTML文件。