CI 묻고 답하기

제목 model에서 result가져올때 형식 질문입니다.
글쓴이 jackie 작성시각 2016/04/06 11:59:53
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 13286   RSS

안녕하세요 생초보입니다.

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

if(!function_exists('keyword_count')){    

function keyword_count($title, $description, $keywords) {        

$count = 0;        

foreach ($keywords as $keyword) {             

    if(stristr($title, $keyword)){              

      $count += 1;             }            

   if(stristr($description, $keyword)){              

      $count += 1;              } 

}        

return $count;    }

}

이게 제가만든 헬퍼구요, $title과 $description에 $keywords 들이 들어가있는지 체크하는건데요

test할때 $keywords = array("Apple","KIM","thi"); 이런식으로 넣었을때 작동을해서 저런형태로 database에서 result를 받아오려는데요

 

 public function get_keyword_word($id)    {     

$query = 'SELECT  keyword_word  FROM keyword WHERE category_category_id = ?';     

return $this->db->query($query, $id)->result_array();}

이게 model이구요

var_dump($keyword); 하면

array(2) { [0]=> array(1) { ["keyword_word"]=> string(5) "apple" } [1]=> array(1) { ["keyword_word"]=> string(5) "house" } }

라고나와요

동작시키면

stristr(): needle is not a string or an integer 에러가나오고요..

model부분을 어떻게 수정해야 가능할까요??

 

p.s 질문에도 검정바탕에 코드 올리면서 질문들 하시던데 어떻게 하는건가요?? 올리기도, 보시기도 불편할거같아서요

 

 

 다음글 CI_Controller.php 404 error 질문... (1)
 이전글 CI 암호화 라이브러리 사용시, 암호화된 데이터 최대 ... (1)

댓글

한대승(불의회상) / 2016/04/06 12:30:15 / 추천 0
결과값이 배열이나 오브젝트로 넘어온듯 합니다.
변종원(웅파) / 2016/04/06 13:20:11 / 추천 0

$keywords 에 array(2) { [0]=> array(1) { ["keyword_word"]=> string(5) "apple" } [1]=> array(1) { ["keyword_word"]=> string(5) "house" } } 라고 들어있으니 사용할때는 $keyword['keyword_word'] 라고 해야합니다. 

개발하면서 이럴 것이다라고 머리속으로만 생각하지 마시고 해당 값을 출력해보세요.

jackie / 2016/04/06 19:30:42 / 추천 0
웅파님 $keyword['keyword_word']를 써봤는데요  Undefined index: keyword_word 라고 나와요 ㅠㅠ
jackie / 2016/04/06 20:56:34 / 추천 0

$keyword=$this->keyword_model->get_keyword_word($id);
        foreach ($keyword as $key) {
            $keyword_array[]=$key['keyword_word'];
        }

이렇게 해서 array만들어가지고 했는데요.. 너무 번거롭네요 ㅠㅠ

변종원(웅파) / 2016/04/06 23:15:47 / 추천 0
if(stristr($title, $keyword)){  이 부분에서 $keyword 를 출력해보세요. 배열입니다. 그래서 위처럼 답을 한거구요.