我在我的网站上创建了一个搜索栏,以便用户可以搜索其他用户并且它可以工作,但是如果我输入一个用户名,所有用户名都会显示出来。我怎样才能显示我正在寻找的用户,如果用户没有注册给别人的声明?PHP用户搜索
的search.php:
<?php
include("connect.php");
GLOBAL $usernam;
$output = '';
if(isset($_POST['Search'])) {
if (empty($_POST["searchbar"])) {
echo"You didn't enter anything . ";
} else {
$searchq = $_POST['Search'];
$searchq = preg_replace("#[^0-9a-z]#i", "",$searchq);
$query = mysqli_query($conn ,"SELECT * FROM users WHERE usernam LIKE '%$searchq%'") or die("Could not search");
$count = mysqli_num_rows($query);
if($count == 0){
echo "There was no search results . ";
} else {
while($row = mysqli_fetch_array($query)) {
$usernam = $row['usernam'];
$id = $row['id'];
$output .= '<div>' .$usernam. '</div>';
}
}
}
}
?>
<html>
<head>
<title>Interpage</title>
</head>
<body>
<?php print("$output"); ?>
</body>
</html>
难道你不需要'$ searchq = $ _POST ['searchbar'];'not'$ searchq = $ _POST ['Search'];'? – Sean
“搜索”是我按钮的名称。 'searchbar'是搜索栏的名称 – mrpunani
的确如此。使用'$ searchq = $ _POST ['Search'];'您正在搜索''SELECT * FROM users where usernam LIKE'%$ _ POST ['Search']%'“'(您的按钮),但我认为你实际上要搜索'“SELECT * FROM用户在哪里usernam LIKE'%$ _ POST ['searchbar']%'”'(您的搜索栏)。这就是为什么我建议改为'$ searchq = $ _POST ['Search'];'(你的搜索栏值) – Sean