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
36
37
|
<?php function get_conditions($search, $options, $condition = ' AND ') { $conditions = array(''); $where = array(); foreach ($options as $operator => $map) { switch ($operator) { case 'like': foreach ($map as $attribute => $column) { if (strlen($search[$attribute])) { $where[] = $column . " LIKE CONCAT('%', ?, '%')"; $conditions[] = $search[$attribute]; } } break; default: foreach ($map as $attribute => $column) { if (strlen($search[$attribute])) { $where[] = $column . ' ' . $operator . ' ?'; $conditions[] = $search[$attribute]; } } break; } } // join values $conditions[0] = implode($condition, $where); return $conditions; } ?>
|