php多条件复合搜索怎么做到?

比如一个网页。有:
<a href="a.php">摩托罗拉</a>
<a href="a.php">诺基亚</a>
<a href="a.php">苹果</a>

<a href="a.php">1000-2000元</a>
<a href="a.php">2000-3000元</a>
<a href="a.php">3000-5000元</a>

<a href="a.php">android系统</a>
<a href="a.php">塞班系统</a>
<a href="a.php">苹果系统</a>

点一个之后,跳转到a.php 比如我点了诺基亚,到了a.php 要进行第二次筛选,比如点了1000-2000元,这个连接该怎么做?

类似于下面这个图片这种情况,还有个问题就是,我点了诺基亚之后,到了A.PHP页面,怎么能让诺基亚这个连接变色? 就如同图片那样

这个用脚本来做更简单些,不用分多次往a.php传参。传一次就行了。
<!--HTML START-->
<!--函数参数推荐写数字,既对应“摩托罗拉”的id,但由于这里你没给出,我索性写上汉字了-->
<a href="javescript:set_made('摩托罗拉')">摩托罗拉</a>
<a href="javescript:set_made('诺基亚')">诺基亚</a>
<a href="javescript:set_made('苹果')">苹果</a>

<a href="javescript:set_price('1000-2000')">1000-2000元</a>
<a href="javescript:set_price('2000-3000')">2000-3000元</a>
<a href="javescript:set_price('3000-5000')">3000-5000元</a>

<a href="javescript:set_os('android系统')">android系统</a>
<a href="javescript:set_os('塞班系统')">塞班系统</a>
<a href="javescript:set_os('苹果系统')">苹果系统</a>
<!--这里的表单隐藏域,只显示一个搜索按钮-->
<form action='' method='post'>
<input id='made' name='made' type='hidden' value='<?php echo $_POST['made'] ?>'/>
<input id='price' name='price' type='hidden' value='<?php echo $_POST['price'] ?>'/>
<input id='os' name='os' type='hidden' value='<?php echo $_POST['os'] ?>'/>
<input type='submit' value = '搜索'/>
</form>
<!--HTML END-->

<!--SCRIPT START-->
<script>
/* @Tips : 这段JS代码可以放到单独的JS文件中去,也可以直接写到head里,随你。
* @Purpose : 这里几个函数分别是把隐藏域中的made、price、os设置成对应的值,点击链接时触发
* @Method : set_made,set_price,set_os
* @Param : str 字符串或者数字,请根据你的需要来决定
* @Return : NULL
*/
function set_made (str) {
document.getElementById('made').value = str;
}
function set_price (str) {
document.getElementById('price').value = str;
}
function set_os (str) {
document.getElementById('os').value = str;
}
</script>
<!--SCRIPT END-->

至于函数参数里你是要添ID 还是添汉字,自己改就行了。
还有你说的那个变色的问题,也不难做,但代码有点长,我懒得写了……
就跟你说一下方法:
首先你要给这几个<a>标签做个CSS类名,比如<a class='test'>,这个test可以不写,主要是用来区别页面其它的<a>标签。当然不写也没关系,只是会让JS脚本稍慢一点。
然后用document.getElementByTageName('a'),获取页面中所有的<a>标签。做个循环,把class不是test的过滤掉,再用他们的innerHTML属性与made、price、os的value属性分别比较,如果是一样的话,就改变它的背景颜色。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-08-26

如果不用JS的话,可以用GET变量传入
例:c.php为显示文件,当点击地区,则在文件后加入地区代码
c.php?dq=北京
这样获取地区的值进行查询,选择地区后,再点价格URL则变为:
c.php?dq=北京&jg=5000
这样再加入第二个条件价格查询就好了。
如果有第三个条件 则以此类推。

或者:

$where = '';
foreach ($_GET as $k=>$v) if(substr($k,0,3)=='se_'&&!empty($v)) $where .= " `".substr($k,3)."`='{$v}' and";

$query = $db->query('select * from table where '.rtrim($where,'and'));
$data = $db->getAll($query);

URL: xx.php?se_name=xxx&se_tasdfa=ddd&se_xxx=xxxx

第2个回答  2011-12-29
给你举个例子吧:
<a href="a.php?shoptype=摩托罗拉&prce=1000,2000">摩托罗拉</a>
提醒一下“shoptype=0” 最好是不要传中文 改用数字(在a.php 文件给以数组shop[0]="摩托罗拉")
这样做好一些
第3个回答  2011-12-28
分少,js,php你都不懂.不好教
第4个回答  2011-12-28
通过传参实现

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网