think组合查询AND和OR一起用
如下示例:
$_where 和 $where组合查询
$_where之间用OR
$where之间用AND
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
$condition = I( 'post.condition' ); switch ( $condition ){ case 1: $where [ 't.digest' ] = array ( 'gt' ,0); break ; case 2: $where [ 't.displayorder' ] = 4; break ; case 3: $where [ 't.type' ] = 1; break ; default : $_where [ 't.type' ] = 1; $_where [ 't.displayorder' ]= 4; $_where [ 't.digest' ] = array ( 'gt' ,0); $_where [ '_logic' ] = 'or' ; $where [ '_complex' ] = $_where ; } // 板块筛选 if ( $_POST [ 'fid' ]){ $where [ 't.fid' ] = I( 'post.fid' ); } // 时间筛选 if ( $_POST [ 'start_time' ] and $_POST [ 'end_time' ]){ $where [ 't.add_time' ] = array ( array ( 'egt' , strtotime (I( 'post.start_time' ))), array ( 'elt' , strtotime (I( 'post.end_time' ))) ); } else { if ( $_POST [ 'start_time' ]){ $where [ 't.add_time' ] = array ( 'egt' , strtotime (I( 'post.start_time' ))); } else if ( $_POST [ 'end_time' ]){ $where [ 't.add_time' ] = array ( 'elt' , strtotime (I( 'post.end_time' ))); } } |
帅的无语!