首页 / 技术 / 正文

用PHP快速设计一个搜索功能

2014年11月06日 3 条评论 ... 技术

为了方便检索数据,绝大多数的网站都会有搜索功能,虽然看起来是个鸡肋功能,但是关键时刻还真的离不开搜索功能,所以对于一个网站来讲,搜索功能应该是必须要有的。

分析搜索功能其实不难发现,不论是对于全文搜索还是标题搜索,都是使用SQL语言对数据库进行查询操作。本案例使用的是PHP+MySQL网站结构。

 

具体分析搜索功能是这样的:对于专门的search.php文件,通过提交页面将全局变量 $_POST['search']  递送给search.php文件,然后通过SQL做一次查询,将结果呈现出来就可以了。案例中需要在message表中的towho字段中查询。

最关键的SQL语句为:

select * from 表 where 字段 like '%$searchs%'

 

在提交页面中放置如下的表单:

<form method="post" action="search.php" name="search">
<input type="text" name="search">
<button type="submit" value="Search">搜索</button>
</form>

 

form 通过post的方式,让search.php产生动作。递交的全局变量是 $_POST['search'] 。

search.php 除了必要的部分之外,核心部分为:

<?php
$searchs = $_POST['search']; 
$query=mysql_query("select * from message where towho like '%$searchs%' ") ;  
while ($row=mysql_fetch_array($query)) {
?>

//这里是我要显示的结果中的内容:
<?=$row[lastdate]?><?=$row[content]?><?=$row[realname] ?>

<?php
}
?>

 

以上就是最核心的全部搜索内容。其他可以自行进行添加操作。

比如要想显示搜索数量,可以使用这样的语句:

$count1=mysql_query("select count(*) from message where towho like '%$searchs%' ");

 

20131215074449_Tu2CY.thumb.600_0

3 条评论

Loading...
  1. rccoder

    所有的sql语句都是差不多的样子。。。。

    2014-11-6 [回复]
  2. 宋小北

    内容基本没有错,不过内容多了就不可以这么搞了。过建议可以拓展一些其他的东西。
    比如:sql优化=>索引使用等,第三方添加=>sphinx/elasticsearch

    2014-11-17 [回复]
    • 有野出没

      果然有现成的搜索源码,原谅我孤陋寡闻,一定好好研究。

      2014-11-17 [回复]

发布评论