CI 묻고 답하기

제목 아래 글 관련 코드입니다.
글쓴이 하늘우러름 작성시각 2014/11/10 16:25:37
댓글 : 5 추천 : 0 스크랩 : 0 조회수 : 14077   RSS
아.. 다음과 같은 코드를 만들어 사용중이었습니다.

    function cart_insert()
    {
          
        $name = $this->input->post('name');
        $get_price = $this->input->post('price_name');
        $temp = explode(",", $get_price);
        $price_name = $temp[0];
        $price = $temp[1];
        $qty = $this->input->post('qty');
        $option = $this->input->post('option');

        $cartId = $this->get_cartId();
        $data = array(
                'id' => $cartId,
                'name' => $name,
                'price' => $price,
                'qty' => $qty,
                'price_name' => $price_name,
                'options' => array('name'=>$option)
            );

        $this->cart->insert($data);

    }
이렇게 지정해서 function 만들었구요,

    public function detail()
    {
       
        if($_POST) {

              $this->cart_insert(); 

        }

이런 식으로 Form 값이 넘어오면 카트 처리하고 있어요.

 
 다음글 하이브리드앱과 코드이그나이터 조합 어떤가요? (3)
 이전글 Cart 사용 중인데요,,, 세션 값들이 사라져 버려서... (1)

댓글

한대승(불의회상) / 2014/11/10 16:40:49 / 추천 0
일단 $this->get_cartId() 에서 동일한 값이 나오는지 부터 확인 하세요.
하늘우러름 / 2014/11/10 16:42:37 / 추천 0
    function get_cartId()
    {
        for($i=0; $i<3; $i++){
            $idNum[$i] = rand(0,9);
            $alpha[$i] = rand(97,121);
        }
       
        $idAlpha1 = "";
        for($i=0;$i<3;$i++) {
            $doc = rand()&+65; 
            $idAlpha1 .= chr($doc); 
        }
       
        $idAlpha2 = "";
        for($i=0;$i<3;$i++) {
            $doc = rand()f+107; 
            $idAlpha2 .= chr($doc); 
        }
       
        $id_Alpha2 = "";
            for($a=97;$a<122;$a++) {
   
                if($a == $alpha[0] || $a == $alpha[1] || $a == $alpha[2]) {
                    $add = (chr($a));  
                    $id_Alpha2 = $id_Alpha2.$add;
   
                }
   
            }
   
        $id_num = $idNum[0].$idNum[1].$idNum[2];
        $id_Alpha1 = $idAlpha1[0].$idAlpha1[1].$idAlpha1[2];
       
        //$id_Alpha1 = 'sku';
        $cartId = $id_Alpha1."_".$id_num.$id_Alpha2;
   
        return $cartId;
   
    }
이렇게 처리하고 있기 때문에 중복되지 않고 있습니다. 확인도 했어요.
하늘우러름 / 2014/11/10 16:51:31 / 추천 0
동일하게 나오도록도 해봤는데 변함이 없네요..
하나 확인한 것은 처음 카트에 넣었을 때 생겨난 rowid가 변하질 않네요.
[rowid] => ea954392c12a9b10066fcff0b1136b92
이렇게 생성된 것이 계속 유지되고 있습니다.
한대승(불의회상) / 2014/11/10 17:00:08 / 추천 0
카트 샘플 보시면 아시겠지만 row_id가 하나라면 같은 데이터에 덮어쓰기 형태로 작업하고 있는것 같네요.
지금 상황에선 샘플 확인 하시면서 작성하신 소스코드를 다시 한번 천천히 들여 다 보시는 방법 밖에는 없네요.

http://sample.cikorea.net/sample_view/class/cart
하늘우러름 / 2014/11/10 17:16:56 / 추천 0
네. 감사합니다. 그렇게 처리해 보도록 하겠습니다.