求解:php商品条件筛选功能你是怎么做出来的?

求思路或者方法,最好能有些代码... 求思路或者方法,最好能有些代码 展开
 我来答
楚昂熙xE
推荐于2017-11-26 · TA获得超过2624个赞
知道小有建树答主
回答量:1478
采纳率:40%
帮助的人:956万
展开全部
php按条件筛选商品的功能,还是比较简单的。
其实就是根据不同的条件组成SQL查询条件,从数据库里查出不同的商品出来。
举个例子:
用户可以按价格范围、按品牌、按商品名称这几项来综合查询。
那么,在用户选择了上面这些查询条件后(可能这3个条件都设置了,也可能只设置了其中2个),提交到服务器端,服务端程序收到用户的查询条件,开始组装SQL查询语句,最后执行组装好的SQL查询语句,返回结果给用户。

代码举例:
用户提交的查询:
price='0-1000'; //按价格范围0-1000元查询

brandid=20; //要求品牌必须是ID号为20的这个(假设这个ID号为20的品牌,名字叫”西部数据")
productname='绿盘'; //商品名称只设置了2个字以做模糊查询

用户点了查询按钮后,根据程序的不同,可能是get方式也可能是post方式发送查询请求,现假设为post方式。

然后在服务器端程序中,收到用户的查询请求:
$price=$_POST['price'];
$price_arr=explode('-',$price); //这里是把价格范围按-号拆散成数组,方便在组装SQL查询语句时用。

$brandid=$_POST['brandid'];
$productname=$_POST['productname'];

当然,上面的数据获取后,还要进行相应的安全方面的检查与处理,这里先略过。

接下来,开始组装SQL查询语句:

$sqlexp='';
//下面开始组根据用户设置的查询条件进行SQL查询条件的组装

if(!empty($price)) {
$sqlexp.=' and (price>='.$price_arr[0].' and price<='.$price_arr[1];

}
if(!empty($brandid)) {
$sqlexp.=' and brandid='.$brandid;
}
if(!empty($productname)) {
$sqlexp.=" and instr(productname,'$productname')>0";
}

//下面执行SQL查询

$result=mysql_query("select * from product where state=1 ".$sqlexp);

在上面的查询完成后,把查询结果返回给用户,就完成了用户按条件筛选商品的功能。
追问
嗯,后面取地址栏参数,拼接where条件,这个都好弄,就不是不知道,怎么在前端页面查询条件上面a链接构造地址。
追答
在前端页面中,一般是用form表单,而不是用A链接。

价格范围:
品牌:
请选择
希捷
西部数据
日立

商品名称:

timeFirefox
2013-09-25 · 超过12用户采纳过TA的回答
知道答主
回答量:37
采纳率:0%
帮助的人:33.9万
展开全部

我是做JAVA的给你一些思路吧 ,

鉴于你说的筛选是什么意思我还是不怎么明白,所以我按照我自己的想法说下

  1. 用级联的效果实现筛选条件(AJAX)

  2. 类似与京东淘宝的那种模块化筛选

先来说说用AJAX实现

商品无非是分几大类,然后根据大类的关联ID细化到小类,一直这样细化下去


每次鼠标点击下来列表的时候传一个ID到后台,根据ID查找出和这个ID关联的产品,后台直接拼接一个下拉框 然后返回给前台,前台直接展示


再说说类似与京东淘宝的那种模块化筛选

    第一页展示出所有大类商品 如 : 电子产品    生活用品

    鼠标单击后传一个ID到后台,后台根据这个ID查询出和这个ID管理的所有列然后存在一个List 返回给前台展示出

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
玥宝成长记
2015-11-03 · TA获得超过125个赞
知道答主
回答量:230
采纳率:20%
帮助的人:58.1万
展开全部
楼主后面怎么解决的?求问!@!!!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式