如何使用PHP添加“未找到结果”消息?

如何使用PHP添加“未找到结果”消息?,php,html,Php,Html,我目前正在建立一个网站,它依赖于通过搜索栏从本地主机数据库中提取信息。我现在让它正确地显示所有信息,但当搜索与我数据库中的任何内容都不匹配时,它就什么也不显示了,我如何将其更改为“未找到结果”或类似的内容?我的代码是: <?php require_once 'connect.php'; if(isset($_GET['keywords'])){ $keywords = $db->escape_string($_GET['keywords']);

我目前正在建立一个网站,它依赖于通过搜索栏从本地主机数据库中提取信息。我现在让它正确地显示所有信息,但当搜索与我数据库中的任何内容都不匹配时,它就什么也不显示了,我如何将其更改为“未找到结果”或类似的内容?我的代码是:

<?php

    require_once 'connect.php';

    if(isset($_GET['keywords'])){

        $keywords = $db->escape_string($_GET['keywords']);  

        $query = $db->query("
                        SELECT movie, game
                        FROM movies
                        WHERE movie LIKE '%{$keywords}%'
                     ");
?>

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Example</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>
    <h1><a href="index.php">Test</a></h1>
    <div class="search">
        <form action="search.php" method="get">
            <input name="keywords" type="text" placeholder="Type something!" autocomplete="off" size="40">
            <input type="submit" value="Search!">
        </form>
    </div>
<br />
<?php

    if($query->num_rows){
        while($r = $query->fetch_object()){
        ?>
    <div class="movie"> <a><?php echo $r->movie; ?></a> </div><br />
    <div class="result"> <a><?php echo $r->game; ?></a> </div><br />
</body>
</html>
<?php
    }
}

}
很抱歉粘贴整个页面,但我甚至不知道从哪里开始,因为我是一个PHP noob。

如果$query->num_rows{..}条件是如果查询结果超过0个结果,那么就使用else部分打印未找到结果的消息

<?php

    require_once 'connect.php';

    if(isset($_GET['keywords'])){

    $keywords = $db->escape_string($_GET['keywords']);  

    $query = $db->query("
    SELECT movie, game
    FROM movies
    WHERE movie LIKE '%{$keywords}%'
    ");
    ?>

    <!doctype html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Example</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
    </head>

    <body>
    <h1><a href="index.php">Test</a></h1>
    <div class="search">
      <form action="search.php" method="get">
        <input name="keywords" type="text" placeholder="Type something!" autocomplete="off" size="40">
        <input type="submit" value="Search!">
      </form>
    </div>
    <br />
    <?php

    if($query->num_rows){
        while($r = $query->fetch_object()){
            ?>
    <div class="movie"> <a><?php echo $r->movie; ?></a> </div><br />
    <div class="result"> <a><?php echo $r->game; ?></a> </div><br />
    </body>
    </html>
    <?php
        }
    }
    else{
        echo "No Result Found!";
        }

    }

要与开始和结束标记相匹配,您可以使用:

if($query->num_rows){
    while($r = $query->fetch_object()){
    ?>
<div class="movie"> <a><?php echo $r->movie; ?></a> </div><br />
<div class="result"> <a><?php echo $r->game; ?></a> </div><br />

<?php
    } 
} else {
    ?>
        <div>No results</div>
    <?php
}
?>
</body>
</html>

请在任何输出之后保留/body和/html标记。

if$query->num_rows{…}else{echo NO RESULT FOUND;}执行此操作时会出现语法错误。你知道为什么吗?我该如何设计CSS中未找到结果的样式?我应该在div里放什么?我已经更新了答案。请看一看。您需要在页面中创建一个。看看我的答案@达维杜夫FY95
.noResult{
color: #800000;
font-size:14 px;
}
if($query->num_rows){
    while($r = $query->fetch_object()){
    ?>
<div class="movie"> <a><?php echo $r->movie; ?></a> </div><br />
<div class="result"> <a><?php echo $r->game; ?></a> </div><br />

<?php
    } 
} else {
    ?>
        <div>No results</div>
    <?php
}
?>
</body>
</html>