在html

时间:2016-04-21 18:55:24

标签: php html forms pdo

我有form,人们可以在其中搜索特定用户的数据库。当他们搜索用户并单击“提交”时,他们会重新定向到其他页面并显示结果。

我唯一的问题是结果是在所需的html标签之前显示的 - 这里是通过Inspect Element查看页面的示例:

"Bobby123


"
<!DOCTYPE html>
<html>
<body>
</body>
</html>

如何在所需的html标签后显示结果?如何设置&#34;设置地点&#34;要显示的结果?

这是我的代码:

<?php
if(isset($_POST['submit'])) {
    $term = $_POST['search'];
    $searchuser = $stmt = $con->prepare("SELECT * FROM users WHERE username LIKE :term");
    $stmt->bindValue(':term', '%'.$term.'%');
    $stmt->execute();
    if($searchuser->rowCount() > 0) {
        while($row = $searchuser->fetch()){
            $name = $row['username'];
            echo $name;
        }
    }else{
        echo 'No results';
    }
}
?>

<form method="post" action="results.php">
<input name="search" type="search">
<input type="submit" name="submit">
</form>

results.php上的代码只是:

<!DOCTYPE html>
<html>
<body>
</html>

如果可能的话,我不想使用像Javascript,Jquery或客户端运行的任何代码。

1 个答案:

答案 0 :(得分:3)

而不是

if($searchuser->rowCount() > 0) {
    while($row = $searchuser->fetch()){
    $name = $row['username'];
    echo $name;
}}else{
    echo 'No results';
}
}

使用

if($searchuser->rowCount() > 0) {
    $content = "";
    while($row = $searchuser->fetch()){
        $content .= '<p>' . $row['username'] . '</p>';
    }
}else{
    $content = 'No results';
}

然后,在您的HTML中(您希望显示文本的位置)

<HTML>
<BODY>
<?PHP echo $content; ?>
</BODY>
</HTML>