我正在尝试使用以下代码进行用户搜索:
<?php
session_start();
include("../BD/bd.php");
$searched_for = $_POST['searched_for'];
$query = @mysql_query("SELECT * FROM user_media WHERE nombre LIKE '%$searched_for%'") or die(mysql_error());
while($got_users = @mysql_fetch_array($query)){
echo '<div class="searched-content-info">'.
'<div class="searched-photo"><img src="'.$got_users['foto'].'"></div>
<div class="searched-names"><h3>'.$got_users['nombre'].'</h3></div>
<div class="searched-dates"><h3>'.'Miembro desde: '.$got_users['created_on'].'</h3></div>
</div>
<div class="divisor-search-user"></div>';
}
?>
但是我收到所有行,我只想显示搜索到的用户信息,好像$query
正在接收一个干净的$searched_for
这里有什么帮助吗?顺便说一句,我在这里有点新手,请不要欺负:)。
编辑:我尝试使用$got_users['nombre'];
更改$searched_for
以查看$searched_for
是否为空,是的,它不返回任何字符串,这就是我获取所有行的原因。 $query
得到一个空变量,但为什么?
这是我的HTML:
<form target="u-n" id="search_input" action="search_user.php" method="post">
<input id="search-input" name="searched_for" type="search" placeholder="Search">
</form>
答案 0 :(得分:1)
您使用了<input type="search" />
HTML5功能。较旧的浏览器可能不支持此功能。将此输入替换为type="text"
。
然后,您的$_POST['searched_for']
应正确填充,即:
<input name="searched_for" type="text" placeholder="Search" />
此外,您多次使用相同的id
,这是一种无效的HTML语法。