本文目录一览:
- 1、thinkphp的select和find的区别
- 2、thinkphp where有多个条件进行复合查询,关系为or,代码如下
- 3、我用thinkphp写搜索功能,用like查询怎么不好使,我代码哪里写错了!
- 4、想在thinkphp中 进行时间段搜索,比如 最近一个小时,最近一天等搜索,希望各位大神帮助一下,求代码。
- 5、thinkphp无限下级查找实现方法,可以通过递归和预排序历遍算法
- 6、用thinkphp写的html页面为啥查看源代码的时候显示成一堆。这样是不是不利于搜索引擎
thinkphp的select和find的区别
问题分析:
在Thinkphp中,select和find主要有2个区别,分别为:
1、查询数量的不同:
select是查询符合条件的多条数据或者说符合条件的全部数据。
find是查询符合条件的第一条数据。
2、查询返回格式不同:
select返回的是二维数组,就算查询结果仅仅只有一条,返回的任然是二维数组。
find返回的是一维数组。
举例如下:
假设表名为test,数据表中包含5条数据,分别为:
1、select查询:
Thinkphp执行代码:
db('test')-select(); //获取数据表全部数据。
执行结果:
2、find查询:
Thinkphp执行代码:
db('test')-find(); //获取数据表第一条数据。
执行结果:
thinkphp where有多个条件进行复合查询,关系为or,代码如下
请参考thinkphp开发手册的查询语言一节,可以有不同写法,我这里写一种供你参考:
$where1=array(
'Key'=array('like','zt'.'%'),
'code'='02'
);
$where=array(
'modes'=1,
'Key'=array('like','tm'.'%'),
'code'='02',
'_complex'=$where1, // 复合查询
'_logic'='or' // 关系为or
);
// 查询语句
$mysql=M('Mysql')-where($where)-select();
我用thinkphp写搜索功能,用like查询怎么不好使,我代码哪里写错了!
public function serCon(){
$model = M('ThemeCards');
$db = $model-where('title like '."'%$serach%'")-select();
var_dump($db);die;
}
你条件写的貌似不对,查询应该用多个查询select,匹配形式不对,你那个变量解析出来需要家'',不然mysql不识别,不行再找我兄弟
想在thinkphp中 进行时间段搜索,比如 最近一个小时,最近一天等搜索,希望各位大神帮助一下,求代码。
private function makeRankSql($order = "") {
if (empty ( $order )) {
return $order;
}
switch ($order) {
case "week" :
// 一周前
$begin = date ( "Y-m-d", mktime ( 0, 0, 0, date ( "m" ), date ( "d" ) - 7, date ( "Y" ) ) );
break;
case "month" :
// 一个月前
$begin = date ( "Y-m-d", mktime ( 0, 0, 0, date ( "m" ) - 1, date ( "d" ), date ( "Y" ) ) );
break;
default :
$begin = date ( "Y-m-d" );
break;
}
$end = date ( "Y-m-d" );
return " and " . $this-daysAsSql ( $begin, $end, "DownloadLog.add_time" );
}
private function daysAsSql($begin, $end, $fieldName, $userOffset = null) {
App::uses ( "CakeTime", "Utility" );
$begin = CakeTime::fromString ( $begin, $userOffset );
$end = CakeTime::fromString ( $end, $userOffset );
$begin = date ( 'Y-m-d', $begin ) . ' 00:00:00';
$end = date ( 'Y-m-d', $end ) . ' 23:59:59';
$begin = strtotime ( $begin );
$end = strtotime ( $end );
return " ($fieldName = '$begin') AND ($fieldName = '$end') ";
}
makeRankSql ( “week”);
thinkphp无限下级查找实现方法,可以通过递归和预排序历遍算法
你这想法就不对 最上级ID的父ID应该是0最好了
你是NULL你判断起来不费劲?数据库里你怎么写?
function b($arr,fid="0"){
static $array=array();
foreach($arr as $v){
if($v[pid]==0){
$array[]=$v;
b($arr,$v['id']);
}
}
return $array;
}
代码未验证有遐思自行修改
tp框架有个方法文件放进去就可以了
项目目录 Application\Admin\Common
用thinkphp写的html页面为啥查看源代码的时候显示成一堆。这样是不是不利于搜索引擎
对搜索引擎没有影响,仅影响人对代码的可视性。事实上很多JS、CSS、HTML文档在发布时都会堆在一起,因为代码是否换行对浏览器或者搜索引擎影响不大。