외부 프로그램으로 

 

데이터베이스에 자동으로 글을 추가하는 프로그램을 만들고있는데

 

document_srl 값이 생성되는 알고리듬을 모르다보니 영 난감하네요.

 

검색해봐도 마땅한 답은 안나오고... 알고리듬이 어떻게 되는지 알 수 있을까요?

  • profile
    function getNextSequence()
    {
       $query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix);
       $this->_query($query);
       $sequence = $this->db_insert_id();
       if($sequence % 10000 == 0)
       {
          $query = sprintf("delete from  `%ssequence` where seq < %d", $this->prefix, $sequence);
          $this->_query($query);
       }
    
       return $sequence;
    }

    위 코드의 함수를 실행합니다.

    위 코드는 getNextSequence 이라고 적혀있는 함수인데 디비에서 1부터 11개숫자를 차례로 하나하나씩 생성하면서 숫자를 만들어 냅니다.

     

    이렇게 하면, 서로 document_srl 과 member_srl 등 번호를 이용한 시리얼 넘버들이 꼬이지 않아요.

     

    외부에서 그냥 문서 추가할경우에는 

    (아래코드는 출석부에서 나온 코드임.)

    $d_obj = new stdClass;
    $d_obj->content = $obj->greetings;
    $d_obj->nick_name = $member_info->nick_name;
    $d_obj->email_address = $member_info->email_address;
    $d_obj->homepage = $member_info->homepage;
    $d_obj->is_notice = 'N';
    $d_obj->module_srl = $module_info->module_srl;
    $d_obj->allow_comment = 'Y';
    $output = $oDocumentController->insertDocument($d_obj, false);

    이렇게 중요한 내용들만 적어주고 Document Controller 에 있는 insertDocument 메서드만 실행하게 해주면, 자동으로 document_srl 을 실행하므로 따로 document_srl 에 대한 설정이 불필요합니다.

  • profile ?
    정말 감사합니다!