CI 묻고 답하기

제목 Autocomplete + Ajax 관련
글쓴이 초보도할수있다 작성시각 2015/03/04 23:28:06
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 14298   RSS
안녕하세요.

저희 매장에서 쓰기위해 외국에서 솔루션을 구매했는데요.

어려운점이 있어 글을 남깁니다.

자동완성 기능중에 예를들어

상품 데이터에는 

품명 규격 매입처 매입단가 판매단가

이런식으로 있는데요.

상품검색 기능중에 바코드, 상품코드, 상품명 검색 기능이 있습니다.

 상품명으로 검색할경우 예를들어

삼겹 을칠경우

삼겹살
목삼겹살
우삼겹살

이런식으로만 표기가 됩니다.

여기서 추가적으로

삼겹살 / 100g / 한돈 / 5000 / 6000

이런식으로 추가 정보를 불러와서 보고 싶은데 방법이 없을까요 ..

번역하며 찾아봐도 답이 없네요 초보로서는 ㅠ

파일 첨부하여 봅니다.

 
첨부파일 sales.zip (18.1 KB)
 다음글 $this->input->post('cont... (4)
 이전글 파일 가져오기에서 href 와 src 의 가져오는 주소... (1)

댓글

변종원(웅파) / 2015/03/05 00:38:51 / 추천 0
$this->sales_model->getProductNames($term); 

이 모델함수를 수정하시면 됩니다.


public function getProductNames($term)
    {
           $this->db->select('name')->limit('10');
        $this->db->like('name', $term, 'both');
           $q = $this->db->get('products');
        if($q->num_rows() > 0) {
            foreach (($q->result()) as $row) {
                $data[] = $row;
            }
                
            return $data; 
        }
    }

 $this->db->select('name') <- 이 부분때문에 이름만 나오는 겁니다.

mysql concat 명령 검색해서 위 소스를 수정해보세요.
초보도할수있다 / 2015/03/05 09:09:59 / 추천 0
안녕하세요

답변 감사합니다. 제가 이해력이 달리는거같아 다시 문의를 드립니다.

    public function getProductNames($term)
    {
           $this->db->select('name, ,size, cost, price, cf1')->limit('10');
        $this->db->like(('name'), $term, 'both');
           $q = $this->db->get('products');
        if($q->num_rows() > 0) {
            foreach (($q->result()) as $row) {
                $data[] = $row;
            }
                
            return $data; 
        }
    }

이런식으로 표기하는건가요??

concat 관련하여  구글링 하여 검색해보니

SELECT concat("name","size","cost","price")from product 이런식으로 해보았더니 값이 전부 null이 나오더군요 ㅠ

제가 원리를 이해 못하는것일까요?


 
변종원(웅파) / 2015/03/05 10:33:25 / 추천 0
그 항목들이 products 테이블에 있는 항목이면 나올 것이고(빈값이 아니라면)
다른 테이블에 있는 것이라면 join을 해서 가져와야겠죠.

테이블명은 오타시죠? s가 빠져있습니다.