묻고답하기

안녕하세요 xe_document_extra_keys 테이블에 값을 추가하는 부분에서 막히는 곳이 있어 질문을 드립니다.

여분필드를 게시판 설정에서 입력하는 것이 아니라 모듈이 생성될때 자동으로 여분필드를 생성하게 하기 위해서 아래와 같은 소스를 작성했습니다. (module / board / skin / mainSlider / _header.html)

{@
$obj = new stdClass();
    $obj->module_srl = $module_info->module_srl;
    $obj->eid = 'extra_vars_6';
    
    $query_path = $module_info->module."/skins/".$module_info->skin;
    $output = executeQueryArray($query_path.'.getExtraVar', $obj);
}
 
<!--@if(!count($output->data))-->
{@
    $obj->var_name = "Title";
    $obj->var_type = "text";
    $obj->var_is_required = "N";
    $obj->var_search = "N";
    $obj->var_default = "Please enter a slider title";
    $obj->var_desc = "Title for slider";
 
    var_dump($obj);
 
    echo "<br>";
    $query_path = $module_info->module."/skins/".$module_info->skin;
    $outputExtraVars = executeQueryArray($query_path.'.insertExtraVar', $obj);
 
    echo $query_path;
    echo "<br>";
    print_r($outputExtraVars);
}

실행을 해 보면 DB에 값들이 입력은 되는데 var_idx 값이 0으로 입력이 됩니다.

1234.png

보통 idx값 같은 경우 A.I를 설정하여 자동으로 값을 매기게 되는데 아래의 xe_document_extra_keys 테이블의 스키마를 보면 var_idxcolumn에 A.I가 설정이 되어있지 않습니다.

CREATE TABLE `xe_document_extra_keys` (
`module_srl` bigint(11) NOT NULL,
`var_idx` bigint(11) NOT NULL,
`var_name` varchar(250) NOT NULL,
`var_type` varchar(50) NOT NULL,
`var_is_required` char(1) NOT NULL DEFAULT 'N',
`var_search` char(1) NOT NULL DEFAULT 'N',
`var_default` text,
`var_desc` text,
`eid` varchar(40) DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

 

xe에서는 어떤 식으로 var_idx값을 가져오는지를 잘 몰라서 질문을 드립니다. var_idx값을 가져오는 다른 방법이 있는지 혹은 가장 큰값을 가져오는 쿼리를 작성한 후 그 값에다 +1을해서 값을 입력하는지 고수님들 답변 좀 부탁드립니다. ㅠㅠ

태그 연관 글
  1. [2018/01/14] 묻고답하기 insert xml 쿼리문 by 너무잠이와요 *2
  2. [2018/01/12] 묻고답하기 스킨내에서 query 문 실행 by 너무잠이와요 *2
  3. [2017/06/10] 묻고답하기 시놀로지NAS XE 설치중 짧은주소 설정문제 도움요청 by 붉은석양 *1