模糊查询的问题,急,急,急
时间:2011-06-16
来源:互联网
$keyword=$_POST['keyword'];
$short_title= array();
for($i=0;$i<mb_strlen($keyword,"UTF8");$i++){
$short_title[$i]=mb_substr($keyword, $i,1,"UTF8");
}
如果用
$condition['shortTitle'] = array();
$i=0;
foreach ($short_title as $v){
$condition['shortTitle'][$i]=array('like','%'.$v.'%');
$i++;
}
$condition['shortTitle'][$i+1]='or';
$resultList=M("AllInfo")->where($condition)->select();
则无结果
如果用$condition['shortTitle'] = array(array('like','%济%'), array('like','%南%'),'or');
$resultList=M("AllInfo")->where($condition)->select();则能查出结果。
如果dump两个数组结果是一样的。求解
$short_title= array();
for($i=0;$i<mb_strlen($keyword,"UTF8");$i++){
$short_title[$i]=mb_substr($keyword, $i,1,"UTF8");
}
如果用
$condition['shortTitle'] = array();
$i=0;
foreach ($short_title as $v){
$condition['shortTitle'][$i]=array('like','%'.$v.'%');
$i++;
}
$condition['shortTitle'][$i+1]='or';
$resultList=M("AllInfo")->where($condition)->select();
则无结果
如果用$condition['shortTitle'] = array(array('like','%济%'), array('like','%南%'),'or');
$resultList=M("AllInfo")->where($condition)->select();则能查出结果。
如果dump两个数组结果是一样的。求解
作者: b739916950 发布时间: 2011-06-16
没人回答自己回答, 问题出现在$condition['shortTitle'][$i+1]='or';, 改为$condition['shortTitle'][$i]='or';就好了,原因是$i的值一开始弄错了,犯这样的错误,不应该啊,希望朋友们不要像我一样
作者: b739916950 发布时间: 2011-06-16
通常这种情况我都喜欢写成:
$where = "`title` LIKE '%南% OR `shortTitle` LIKE '%南%'";
$rows = $model->where($where)->findAll();
$where = "`title` LIKE '%南% OR `shortTitle` LIKE '%南%'";
$rows = $model->where($where)->findAll();
作者: deeka 发布时间: 2011-06-16
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28