您的位置:

制作php高级搜索功能,php怎么做搜索功能

本文目录一览:

怎么在网页上用PHP做个搜索功能?

通过from表单,将查询的关键词,通过 like 跟数据进行模糊查询对比

从topics表中查询字段subject与传进来的参数'$_POST['topic']进行比较模糊查询

设subject字段数据为:数学,英语,物理,化学,英文

$subject=$_POST['topic'];

$sql = "select * from topics where subject like '%" .$subject. "%'";

$result = mysql_query($sql);

若从表单提交的‘topic’值为“学”,得到的结果将是:数学,化学

多个字段匹配查询:

$sql = "select id,subject from topics where (id like '%" .$id. "%') or (name like '%" .$name. "%') or (subject like '%" .$subject. "%') order by id desc";

结果依据字段id的顺序

PHP实现搜索查询功能的方法技巧

下面是首页显示数据表package中的内容,但是有个条件,显示在首页的内容还必须是 :字段status=0,且printing=0的数据才能在首页列表中显示出来。

页面上有一个“搜索”功能,输入条件后就会根据条件来进行查询。

一般的搜索的话,只要在首页显示列表方法index()中给一个:

?

$map=array();//初始化查询条件

$map=$this-_search();//调用查询方法

$total = $this-Model-where ($map)-count(); //这个主要是用来计算页面显示数据条数的

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

然后,就是写一个_search():

protected function _search(){

$map = array ();

$post_data = I ( 'post.' );

if ($post_data ['packageid'] != '') {

$map ['packageid'] = array (

'like',

'%' . $post_data ['packageid'] . '%'

);

}

return $map;

}

最后,在设置的“搜索”菜单中,调用这个搜索方法。

但是,这个搜索的.同时,还要确保在字段status=0,且printing=0的数据中进行搜索。

这个限制条件该加在什么地方。各种尝试和查询后,才知道。限制条件直接加在SQL语句中就行了(如下红色的地方)。(我自己试的时候一直在如下蓝色的地方加条件,屡试屡败!)

$map=array();

$map=$this-_search();

$total = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-count();

if ($total == 0) {

$_list = '';

} else {

$_list = $this-Model-where ($map)-where(array('status' =0,'print_status'=0))-limit( $post_data ['first'] . ',' . $post_data ['rows'] )-select();

}

更多相关文章推荐:

关于搜索功能那个php代码,能再详细点吗?

数据库(mysql):一个数据库(search),库里面一个表(title),表里面一个字段(name).

PHP页面:两个页面(index.php

search.php)

第一步.创建数据库.(目前大家应该都是用的phpmyadmin来操作数据库的吧?)

建立一个数据库.

第二步.建表

在刚建立的search数据库里插入一个名字为title的表.建表时让选插入几个字段.写1就可以了.

第三步.建字段

插入的字段命名为name,长度值20就可以了.

—–数据库部分已经做完,接下来是网页部分—–

第四步.建立两个页面

建立两个文件:index.php和search.php可以使用记事本等文本工具直接建立.我使用的工具是Dreamweaver(方便嘛.呵呵).

第五步.index.php的页面制作.

这个页面是用来传递你搜索的关键字的.代码如下:

form method=”post”

action=”search.php”

name=”search”

input name=”search” type=”text” value=”"

size=”15″ input type=”submit”

value=”Search”

/form

这段代码是建立一个FORM表单.专门用来提交数据的.

第一行是FORM表单的开始.它的传递方式是post,传递到search.php这个页面.表单名为name.

第二行是文本域和提交按钮.文本域命名为search,按钮默认就可以了.

第三行是FORM表单的结束语句.

第五步.search.php的页面制作.

这个页面很关键.因为他是获取index页面传递过来的值,然后导出搜索的数据.

首先要绑定你建立的search数据库,我用的DW生成的.

上一个页面传送的文本域是search.所以,这里需要建立一个search变量.来接收你输入的关键词.用以下语句定义变量:

?php

$searchs = $_POST['search'];

?

然后建立一个记录集,选择高级.SQL语句中填写:

SELECT *

FROM title

WHERE name like

‘%$searchs%’

这句的意思是选择title表里面的所有字段(*),然后查询name中的$searchs变量。这个变量也就是你在index中输入的值啦。

然后在BODY里面绑定一个动态文本。选择NAME。

如何在网页中实现搜索功能?

第一,选择百度自定义的搜索功能。百度为了有效促进站长的发展,进而实现共赢,对此百度提供了丰富的站长工具,其中百度自定义的搜索就是一款非常实用的站内搜索模块,对于广大的站长朋友们来说,只需要直接引入,不需要进行二次开发就能够轻松的实现站内搜索。不过这种方法当然也有一定的缺陷,因为这没有定制功能,所以在深度整合方面还存在着一定的缺陷。

第二,选择第三方的搜索功能的开源系统。比如常见的SOLR以及SPHINX等软件,这些开源系统能够直接被引入到网站中,从而实现站内的搜索功能。不过对于很多技术水平不高的站长朋友们来说,应用这些开源系统往往具有一定的难度,在实际使用中需要学习,这往往会影响到站长的应用热情。

第三,通过采购的方式来获得需要的定制服务。这种方法显然具有成本高的劣势,毕竟需要采购相应的定制服务,往往需要不菲的费用,对于草根站长们来说,可能自身的投资资金不够,所以在采购第三方定制服务方面积极性不高,但是从性能的角度上来看,定制具有良好的搜索体验,而且现在互联网上也开始出现了免费版,再加上这方面的系统开源情况越来越高,所以这些定制服务的费用也开始降低,所以从发展网站品牌的角度上来说,采用定制服务显然具有更多的优势。

总而言之,站内搜索随着网站内容的不断增长开始显得越发重要,对此我们从建站的最初就要充分的想到引入到搜索功能,这不仅仅能够有效提升用户的搜索体验,同时也能够有助于百度蜘蛛的抓取。

有三种常见的方式

1、自己设计表单、编程、与数据库链接检索。

2、在百度或谷歌注册申请站内搜索功能。获得代码,添加到自己的页面中。

3、使用第三方的工具软件,搭建检索功能。

thinkphp 怎么在模板页面做一个搜索功能

1,你要做出来的是实现无刷新搜索对吗?

这个用到前端的ajax;

说一下流程,点击右侧的放大镜(onclick);

把input框里面的值传到后端;

后端根据这个值返回相应的数据。

2,给你手写一个模板吧

$('#search_bottom').click(function(){

    var content = $('#search_content').val();//获取内容

    $.ajax({

        url://你的处理地址

        data:{'content':content},

        type:'POST',

        dataType:'json',

        success:function(){},

        error:function(){}

    })

});

好啦,不懂得可以追问。