我有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或客户端运行的任何代码。
答案 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>