You cannot see this page without javascript.

이 부분은 약간의 코어 소스 수정과 변수 선언을 해주셔야 합니다.

보통 개인 DB 건드리고 출력할 용도가 게시판, 위젯, 애드온 등이 되겠는데요.

이  팁에서는 게시판을 기준으로 설명하겠습니다.

준비물 : 팁, xml파일, func_include 애드온, class.php
사전지식 : func_include 애드온을 이용한 함수 사용법

class.php

class 클래스명 {
    function init(){
        Context::set('getTable',array('테이블명1','테이블명2'));
    }
   function getTable(){
        $output = executeQueryArray('board/skins/스킨명.테이블명', $obj);
        // 오류가 생기면 그냥 무시
        if(!$output->toBool()) return;
        return $output->data;
    }
}


테이블명.xml

<query id="테이블명" action="select">
    <tables>
        <table name="테이블명" /> <- 이곳 본인의 테이블명 적으시면 됩니다.
    </tables>
    <columns>
        <column name="*" />
    </columns>
</query>

게시판스킨 임의의 html 파일에 아래를 선언

<!--@if($func_check)-->
{@ func_include('modules/board/skins/스킨명/php/class.php') }
{@ 클래스명::init() }
{@ $tables = 클래스명::getTable() }
<!--@end-->

    <!--@foreach($tables as $key => $val)-->
         내용
    <!--@endforeach-->

core 파일 수정
classes/db/DBMysql_innodb.class.php <- 이것은 각 DB 종류에 따라 그 파일을 수정해야합니다.
      /**
         * @brief insertAct 처리
         **/
        function _executeInsertAct($output) {
            // 테이블 정리
            foreach($output->tables as $key => $val) {
                $prefix = (!@in_array($key, Context::get('getTable')))? $this->prefix:false;
                $table_list[] = '`'.$prefix.$val.'`';
            }
.... 중략

        /**
         * @brief updateAct 처리
         **/
        function _executeUpdateAct($output) {
            // 테이블 정리
            foreach($output->tables as $key => $val) {
                $prefix = (!@in_array($key, Context::get('getTable')))? $this->prefix:false;
                $table_list[] = '`'.$prefix.$val.'` as '.$key;
            }
....중략
        /**
         * @brief deleteAct 처리
         **/
        function _executeDeleteAct($output) {
            // 테이블 정리
            foreach($output->tables as $key => $val) {
                $prefix = (!@in_array($key, Context::get('getTable')))? $this->prefix:false;
                $table_list[] = '`'.$prefix.$val.'`';
            }
....중략
        /**
         * @brief selectAct 처리
         *
         * select의 경우 특정 페이지의 목록을 가져오는 것을 편하게 하기 위해n
         * navigation이라는 method를 제공
         **/
        function _executeSelectAct($output) {
            // 테이블 정리
            foreach($output->tables as $key => $val) {
                $prefix = (!@in_array($key, Context::get('getTable')))? $this->prefix:false;
                $table_list[] = '`'.$prefix.$val.'` as '.$key;
            }
....중략



$prefix 로 시작하는 것 하고 그 밑에 내용 두줄을 위와 같이 교체 해주세요.


원리는 위에 지정한 테이블명과 접근하려는 테이블명이 같을 경우 xe_ 등의 말머리를 출력하지 않게 하는 겁니다.
그렇게 때문에 본인의 DB에 xe_documents 라는 테이블과 documents 라는 테이블이 있을 경우 테이블명이 동일하기 때문에
이런 경우를 제외하고는 다 뽑는게 가능하다고 봅니다.
엮인글 :
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
169 설치파일(inf)에 대한 이해 [7] LynX 2011-06-22 549
168 탐색기 메뉴에 '명령 프롬프트 열기'와 '메모장으로 열기' 추가하기 file [14] LynX 2010-11-08 547
167 Linux 리눅스에 곰플레이어 설치하기 file LynX 2014-07-01 537
166 CentOS CemtOS 7.3 base Trinitycore 3.3.5 Compile file LynX 2017-11-13 520
165 Linux Linux에 Boost 설치하기 LynX 2015-11-30 519
164 Linux ISO 마운트 [10] LynX 2014-12-22 516
163 Programing 개행문자 LynX 2014-10-29 513
162 Server Open Solaris 패키지 설치 및 삭제 LynX 2014-12-29 511
161 윈도우7 메모리 인식 문재 file [13] LynX 2011-11-30 509
160 Linux rc.local 서비스 등록하기 LynX 2014-07-22 505
159 Linux AfterLogic Webmail 설치 LynX 2015-12-29 504
158 Printer HP Officejet Pro K8600 호환 드라이버 [10] LynX 2013-06-21 496
157 Network EtherChannel / Spanning-Tree file [14] LynX 2015-04-29 490
156 Xpress Engine XE3 [1] LynX 2016-02-03 489
155 Linux CentOS 텔넷 접속시 한글꺠짐 현상 제거 LynX 2014-06-30 488
154 Linux ibus 한영키 전환 문제 nabi [12] LynX 2014-12-19 484
153 CentOS CentOS7 GCC-5.1.1 yum install LynX 2017-11-10 483
152 CentOS7 ▒ Doly의 CentOS7 강좌31 12. 네트워크 보안설정 12.2 iptables 서비스 (2/3) LynX 2016-01-07 480
151 Linux postfix dovecot file [14] LynX 2014-11-24 479
150 Linux CentOS 6.5에 JSP를 위한 JDK & Tomcat file LynX 2014-07-05 478

XE Login