【发布时间】:2013-12-01 03:19:40
【问题描述】:
<?php $query = $_GET['search-text'];
$min_length = 3;
if(strlen($query) >= $min_length){
$query = htmlspecialchars($query);
$query = mysql_real_escape_string($query);
$raw_results = mysql_query("SELECT * FROM movies WHERE (`title` LIKE '%".$query."%')") or die(mysql_error());
if(mysql_num_rows($raw_results) > 0){
while($results = mysql_fetch_array($raw_results)){
}
}
else{
echo "No results";
}
}
else{
echo "Minimum length is ".$min_length;
} ?>
我这里没有指定数据库连接。
我的html代码
<form id="frm-search" action="search.php" method="GET">
<div class="m-search">
<input type="hidden" id="search-text-value" name="search-text-value">
<input type="text" id="search-text" maxlength="150" class="search-text" name="search-text" placeholder="search" value="" autocomplete="off" onblur="" style="color: rgb(140, 140, 140);">
<input type="image" src="spray/search.png" value="" class="search-btn">
<div class="clear"></div>
</div>
</form>
它显示未定义的索引搜索文本和结果。当我尝试搜索时它不显示任何内容。
我已经在表单标签之后回显了它。
【问题讨论】:
-
你在
while循环中什么也没做。 -
如果你使用 GET 方法,你必须在你的 url 栏上有类似 pages.com/index.html?search-text=$query 的 url。我认为问题在于从表单中获取价值。
-
你的样本什么都不做,空循环,修复问题
-
test.loke/website3/… 这是我提交表单后得到的。
标签: php mysql search-engine