| @@ 72-85 (lines=14) @@ | ||
| 69 | } |
|
| 70 | } |
|
| 71 | ||
| 72 | public function get_product_by_search($q, $limit, $offset) |
|
| 73 | { |
|
| 74 | # 検索キーワードをスペースで分割し、like()メソッドでLIKE句を指定します。 |
|
| 75 | # 複数回like()メソッドを呼んだ場合は、AND条件になります。 |
|
| 76 | # name LIKE '%{$keyword}%' AND name LIKE '%{$keyword}%' というSQL文になります。 |
|
| 77 | $keywords = explode(" ", $q); |
|
| 78 | foreach ($keywords as $keyword) |
|
| 79 | { |
|
| 80 | $this->db->like('name', $keyword); |
|
| 81 | } |
|
| 82 | $this->db->order_by('id'); |
|
| 83 | $query = $this->db->get('product', $limit, $offset); |
|
| 84 | return $query->result(); |
|
| 85 | } |
|
| 86 | ||
| 87 | public function get_count_by_search($q) |
|
| 88 | { |
|
| @@ 87-98 (lines=12) @@ | ||
| 84 | return $query->result(); |
|
| 85 | } |
|
| 86 | ||
| 87 | public function get_count_by_search($q) |
|
| 88 | { |
|
| 89 | $this->db->select('name'); |
|
| 90 | $keywords = explode(" ", $q); |
|
| 91 | foreach ($keywords as $keyword) |
|
| 92 | { |
|
| 93 | $this->db->like('name', $keyword); |
|
| 94 | } |
|
| 95 | $this->db->order_by('id'); |
|
| 96 | $query = $this->db->get('product'); |
|
| 97 | return $query->num_rows(); |
|
| 98 | } |
|
| 99 | ||
| 100 | } |
|
| 101 | ||