您的位置:

php搜索页面怎么实现分类检索(php搜索页面怎么实现分类检索工具)

本文目录一览:

PHP搜索页面如何实现分类检索

不知道你的数据库是如何设计的~ 一般where 条件 AND链接就行了吧~

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();

}

更多相关文章推荐:

怎么制作网页上的分类搜索?点一下就自己分类显示的

分类搜索就是拼凑SQL语句的where子句

看你网站这里有地址桌数和价格

那么对应数据库就应该保存类似信息的字段

这里我假设你的数据保存在同一张表table中,表中有三个字段address,table_count,price分别对应地址,桌数,价格

那么分类中每个选项对应一个不同的URL请求

比如庐阳的地址如下

复制代码

search.php?address=luyantable_count=?php echo$_GET['table_count']?price=?php echo$_GET['price']?

看到这里的?php echo$_GET['table_count']?了吗?这里就是将另外两项分类中提供的筛选条件保存到URL中,这样筛选条件不会丢失。

其他分类筛选条件的URL地址也是这样的,只是每个条件只固定自己所代表的条件,其他都是动态输出,也就是比如价格分类中1000-2000的条件,对应的URL地址应该是

复制代码

search.php?address=?php echo $_GET['address']?table_count=?php echo $_GET['table_count']?price=1000-2000?

需要注意的是,在echo出其他两项筛选条件前,需要进行xss代码过滤,防止xss攻击,这里是为了简单起见直接输出了,实际是不可取的。

好了,有了这样的URL地址,筛选起来就很简单了

在search.php中获取到URL传递过来的address,table_count,price信息,判断是否为空,不为空就说明指定了筛选条件,为空就是没有指定(比如第一次只点击了某个地址,那么其他两项条件都是空)

然后就可以生成SQL语句了

复制代码

$sql="select * fromtable ";

$where="";

if(!empty($_GET['price']))

{

$priceArr=explode('-',$_GET['price']);

$where="price$priceArr[0] andprice$priceArr[1]AND";

}

if(!empty($_GET['table_count']))

{

$priceArr=explode('-',$_GET['table_count']);

$

使用php实现商品所有分类查询,类似淘宝这种

在数据库建立的时候就已经分好了 给每个栏目一个p_id

最上层菜单p_id为0

子菜单p_id为上级菜单的id

查询的时候就根据id和pid来查找

找出所有就按照递归来找