大家好~大侠好~
目前在做搜索的时候,遇到一个问题,就是搜索条件为多选,如果写php的条件语句?
搜索页面地址是:http://chuju750.welafa.com/sell/search.php
在搜索条件“适用范围”那里,我做成了多选,如何写php语句使得可以实现多选搜索?
补充:适用范围的字段名称是:rangeme
php目前搜索条件区域写法:
if($rangeme) $condition .= " OR rangeme LIKE '%$rangeme%'";
现在问题就是这样写,不能实现正确的多选搜索结果。
请大侠帮忙一下~
目前在做搜索的时候,遇到一个问题,就是搜索条件为多选,如果写php的条件语句?
搜索页面地址是:http://chuju750.welafa.com/sell/search.php
在搜索条件“适用范围”那里,我做成了多选,如何写php语句使得可以实现多选搜索?
补充:适用范围的字段名称是:rangeme
php目前搜索条件区域写法:
if($rangeme) $condition .= " OR rangeme LIKE '%$rangeme%'";
现在问题就是这样写,不能实现正确的多选搜索结果。
请大侠帮忙一下~
解决方案 »
- 累得我死去活来,原理这么简单发邮件
- 各位,请教一下php变量赋值的问题,急~~谢拉!
- int 问题
- wamp5 配置问题
- PHP 判断页面行数问题
- 想实现一个抓取,遇到了防抓高手,来CSDN请教,源码贴出来了,大家可以参考
- dz的,要实现完全的rewrite,修改.htaccess文件,代码是什么
- 为什么在提交表单时按回车和点击提交按钮会得到不同的效果呢?请大侠们指教下小弟,谢谢!
- 请问这个函数为什么上传不了?
- 在WINDOWS98环境下安装php-4.2.1+apache_2.0.39+mysql-4.0.1[原创]
- fsockopen,fopen,file_get_contents 为什么fsockopen是最快的呢
- 关于数组合并的问题
还可以用sphinx
<input type=checkbox name=rangeme value=school/> 学校
于是同名的 rangeme 就将被覆盖了,不能取到正确的值
要这样
<input type=checkbox name=rangeme[] value=school/> 学校
foreach($_POST['rangeme'] as $rangeme)
$condition .= " OR rangeme LIKE '%$rangeme%'";
是这样的:
1、“适用范围rangeme”是信息的一个字段,这个字段在用户发布信息的时候就设为多选;
2、在搜索的时候,希望根据“适用范围rangeme”来筛选出相应的信息(这个信息不是在文章中,是信息的字段属性)
我后台有一个定义了搜索页调用“适用范围rangeme”的表单函数,如下:function select_search_checkbox($name,$tb,$fid){
global $db;
$title="";
$r = $db->get_one("SELECT option_value FROM {$db->pre}fields WHERE name='$name' and tb='$tb'");
$option_value=loseSpace($r["option_value"]);
$ps = split("\*", $option_value);
#var_dump($matchs);
foreach ($ps as $s){
//以*分割1|可用*=> 1, 可用
if(!$s){
continue;
}
list($num,$word) = split("\|", $s);
$result[$num] = $word;
}
foreach($result as $n => $v)
{
if ($n==$fid){
$title .=" <label><input type=checkbox name=".$name." value=".$n." checked/> ".$v."</label> ";
}
else{
$title .=" <label><input type=checkbox name=".$name." value=".$n."/> ".$v."</label> ";
}
}
return $title;
}
前台搜索页面使用如下代码调取出来表单(这里面用到了我的自己做的标签,大家可以忽略写法):
{select_search_checkbox(rangeme,sell,$rangeme)}我搜索页面对应的php文件,添加了如下的搜索条件代码:
if($rangeme) $condition .= " OR rangeme LIKE '%$rangeme%'"; 至此,问题就这样出来了,问题2点如下:
1、在筛选的时候,点击复选框以后进行搜索,不能激活当前选项(没有checked标志)
2、无法正确筛选出搜索结果。不知道以上我说明白了没?烦请大侠帮忙看看。我可以追加积分奖励!
是因为重载搜索表单时你没有给 chechbox 加上 checked 属性2、无法正确筛选出搜索结果。
这点我已在 #2 的回复中说了虽说 select_search_checkbox 函数是为了预置 checkbox 状态的
但因为没有说明,无法理解 option_value 字段的含义和来源
提交时的范围复选框是否被勾选,似乎与数据库预置数据无关吧?
只能照做,否则无法取得复选的数据