CI 묻고 답하기

제목 출석체크 질문입니다..
글쓴이 바다의이무기 작성시각 2015/04/11 20:39:00
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 15518   RSS
안녕하세요?? 지금 출석체크 함수름 만들어서 라이브러리에 넣었습니다..그리고 뷰페이지에서 불러와서 확인 해보는데 이상하게 자꾸 제대로 불러오지 못합니다.. 리턴값이 없다는 오류만 나옵니다..
왜 리턴값이 없는지 라이브러리에 가서 echo 확인을 해봐도 리턴되는 값은 제대로 나오는데...
이래저래 삽질하고 구굴링하다가  풀지 못해서 이렇게 고수님들의 도움을 얻고자 질문합니다..
그리고 지금 제가 짠 출석체크 좀 더 좋게 짤 수 있도록 가르침도 부탁드립니다.
요새 일교차가 커서 저녁부터는 많이 춥네요.. 감기 조심하시고 주말 잘 보내세요...
첨부파일 check.zip (1.1 KB)
 다음글 [자답]로그가 안남겨 지는거 같은데 .. (1)
 이전글 view에 인자 전달할때 (2)

댓글

한대승(불의회상) / 2015/04/13 10:08:15 / 추천 0
사용자 라이브러리에서 CI의 리소스에 접근 하려면 get_instance() 함수를 사용하여 CI 인스턴스를 가져와야 합니다.
function a_check($ccount, $cstar, $id)
{
 // CI instance GET
 $CI =& get_instance();
 
 $ccount= explode(',', $ccount); //출석체크변수에서 구분자(,)없애고 $ccount에 저장
 $checkc=count($ccount);   // $checkc갯수가 4이면 모두 출석 
 $i=0;
 $cre="";
  while ($i <= $checkc) {
    if($ccount[$i]=='n'){  //출석체크변수$ccount에 결석(n)이 있으면 반복한 갯수 $check에 저장하고 반복문 빠져나감.
     $check=$i;
   break;
    }
  $i++;
  }
 /*
  * $check 출석체크
  * $ctype 별 지급한 결과
  * $ctype이1이면 별 1개 지급, $ctype이3이면 별 2개 지급, $ctype이5이면 별 3개 지급, $ctype이7이면 별 5개 지급   
  */
 if($check==4 && $ctype==0){
  $cre_sql = "UPDATE attendance AS a INNER JOIN  profile AS p ON a.user_id= p.user_id SET a.check_count='n', a.check_type='1', p.star=$cstar+1 WHERE a.user_id='$id'";  //4일 연속 출석 보상으로 별1개 지급후 $check_count초기화
   echo $cre_sql;
  // $cquery = $this -> db -> query($cre_sql);
  $cquery = $CI -> query($cre_sql);
  $cre = $cquery->result();
 }

.
.
.
.
.
.
.

}

더 자세한 것은 아래 메뉴얼을 참고 하세요.
http://cikorea.net/user_guide_2.1.0/general/creating_libraries.html