首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

【xuzuning 】版主求教,有有关问题啊围观

2013-07-04 
【xuzuning 】版主求教,有问题啊,各位高手围观。本帖最后由 u010572351 于 2013-06-23 13:23:38 编辑昨天请教

【xuzuning 】版主求教,有问题啊,各位高手围观。
本帖最后由 u010572351 于 2013-06-23 13:23:38 编辑 昨天请教了如何实现多条件下分类检索,

http://bbs.csdn.net/topics/390497100

后来我做出来了,但是新的问题出现了,而且是比较致命的弊端,想再请教下。

问题1:
1.url上面只显示当前点击的链接,因为参数是放在session里面的,每个链接都是当前链接的参数,好像其他网站不是这样的,他们是所有参数的结合。 
2.这个问题是最重要的,就是用户点击的参数放在session,如果用户搜索了一把,但是没有关闭浏览器,浏览其他页面去了,然后再回来再搜索,那么session仍然有效,就是说他现在的搜索范围已经局限在上次的搜索结果中了。

比如:
用户上次最后的搜索条件是: 只限电影,2012年,国语,然后关闭页面(没有关闭浏览器),过了一会又回来了,他搜索国外的电影,因为现在session还有效,那他是搜索不到东西的,或者说范围是不对的,缩小的,除非他关闭浏览器重来。

感觉不太对劲儿啊。。。。。

 
[解决办法]
你需要在那个帖子 #4、#16 的代码基础上修改
[解决办法]
为何不用js拼接url串呢?

[解决办法]
多条件筛选,我第一次听说要用session的
无语

就一个简单的url拼接而已

什么时候用得到session了
我打一个很简单的例子

<?php
$a=$_GET['a']
$b=$_GET['b']
$c=$_GET['c']
if($a!=''){
 $aurl="&a=".$a
}
if($b!=''){
 $burl="&b=".$b
}
if($c!=''){
 $curl="&c=".$c
}
?>
<a href="a.php?1<?php echo $burl;?><?php echo $curl;?>">全部</a><a href="a.php?a=1<?php echo $burl;?><?php echo $curl;?>">a1</a>
<a href="b.php?1<?php echo $aurl;?><?php echo $curl;?>">全部</a><a href="b.php?<?php echo $aurl;?>&b=1<?php echo $curl;?>">b1</a>
<a href="c.php?1<?php echo $aurl;?><?php echo $burl;?>">全部</a><a href="c.php?<?php echo $aurl;?><?php echo $burl;?>&c=1">c1</a>
[解决办法]
无语,代码都给出来了,还说怎么实现
[解决办法]
用jS动态的拼出URL应该比较好实现的,
按照你之前给出的页面,可以这样实现:
1、模板页面 新建三个 隐藏域
   <input type='hidden' id='type' value='' />
   <input type='hidden' id='area' value='' />


   <input type='hidden' id='time' value='' />
2、在类型、时间和地区的点击事件中新加一个URL生成的JS函数,
    此函数的功能是:判断哪些标签被选中(按照你给出的页面这个功能已实现,应该也很好实现),把选中的标签对应的值写到相应的隐藏域中,譬如:“类型”中的“爱情”被选中,那么id='type'隐藏域的值就写入数据库中影片爱情的typeid。最后把这些隐藏域的id和value拼接处你想要的url。

没有写代码,简单写个思路,希望有帮助
[解决办法]
先给js赋值一条url,参数就是页面打开时状态选择了什么,不要说你不知道,那是php echo出来的
然后客户端的选择动作,选择了一个参数,如果这个参数在url中不存在,就拼接,存在就replace
最后整条url提交就是了

热点排行