질문 Q #9460
update나 insert시 +1 아 안되는 문제...
다니엘SEO 2011-09-16 14:55:31
로그인 후 카운터를 하려고 하는데요

db update 때
'login_count' => login_count+1
식으로 했는데 카운터가 올라가지 않네요? 방법이 다른건지....;;;
조언 좀 부탁 드립니다 ㅠ.ㅠ
답변 8
#1 변종원(웅파) 2011-09-16 15:28:44
 매뉴얼에 잘 나와있습니다.
http://codeigniter-kr.org/user_guide/database/active_record.html  set()부분 보세요.
insert 부분에 나와있지만 update에도 동일하게 적용됩니다.

$this->db->set('reply_count', 'reply_count+1', FALSE);
#2 헛발이 2011-09-16 15:30:09
function hit_update($id=NULL)
{
    if (is_null($id)) return NULL;
    $this->db->set('hits', 'hits + 1', false);
    $this->db->where('id', $id);
    $this->db->update($this->board);
    return TRUE;
}
저는 이렇게 하구 있습니다.
#3 다니엘SEO 2011-09-16 16:43:26
 감사합니다!
메뉴얼을 계속 켜 놓고는 있는데...원하는 것을 잘 못찾네요 ㅠ.ㅠ
#4 송군 2011-09-17 22:34:43
ㅎㅎㅎ 서다니엘님 이번에 하고 계신 프로젝트 다 완성되면 보여주세요~
#5 송군 2011-09-17 22:35:39

그런데 위에 헛발이님이 올리신 저것은 어떤 프로그램으로 캡쳐한거죠?

#6 다니엘SEO 2011-09-18 00:14:09
송승화님~다 만들어 지면 공개 하겠습니다 ^^ ㅎㅎ
헛발이 님이 올리신건 이곳 에디터에 보면 코드를 작성하는 기능이 있습니다~ㅎ
#7 Lectom 2011-10-18 15:18:22
 역시나 검색을 먼저 해볼껄....  괜히 고민 했습니다. -0-
$this->db->set('reply_count', 'reply_count+1', FALSE); 이후에

$this->db->update('mytable', ,array('id' => $id)); 로 하면 에러가 나고,

$this->db->update('mytable',array(),array('id' => $id)); 로 해야 하더군요 ㅎㅎㅎ.

#8 한대승(불의회상) 2011-10-18 15:40:27
Lectom // 그렇게 하는것도 좋지만... ^^
$this->db->set('reply_count', 'reply_count+1', FALSE);
$this->db->update('mytable', NULL, array('id' => $id));
하거나
$this->db->set('reply_count', 'reply_count+1', FALSE);
$this->db->where(array('id' => $id));
$this->db->update('mytable');
이 방법이 정석이듯 싶군요.