XETOWN

질문/답변

웹에 관련된 질문과 답변을 나눌 수 있습니다.

 

1. document, private TABLE 2개를 join 하는 이유는 private 테이블에만 존재하는 값이 1 일때 해당 게시물만 출력하는 코드입니다.

2. private 테이블은 document 와 동일한 컬럼이 2개가 있습니다.

    module_srl, upload_target_srl (document_srl 동일) ...

    그리고 private 컬럼 1,0 으로 구분되어 있습니다.

 

private 1 에 해당하는 document 목록을 뽑아 오려고.. 아래 처럼 하고 있는데..

당췌 ㅠ_- 비개발자이다 보니.. 한계가..

 

코드 완성 부탁 좀 드리겠습니다.

 

 

 

<query id="getAllDocuments2Private" action="select">
    <tables>
        <table name="documents" alias="documents" >
         <table name="private" alias="private" type="left join" />
             <conditions>
                 <condition operation="equal" column="private.upload_target_srl" default="documents.document_srl" notnull="notnull" />
             </conditions>
         </table>
    </tables>
    
<columns>
<column name="documents.*" />
</columns>

  <conditions>
   <condition operation="in" column="documents.module_srl" var="module_srl" filter="number" />
<condition operation="equal" column="private.is_private" default="1" pipe="and" />
<condition operation="equal" column="category_srl" var="category_srl" pipe="and" />
    </conditions>
<navigation>
<index var="sort_index" default="documents.list_order" order="order_type" />
<list_count var="list_count" default="20" />
<page_count var="page_count" default="1" />
<page var="page" default="1" />
</navigation>
</query>

 

  • ?
    SimpleCode 2016.10.15 23:48:00
    쿼리 하나만 보여주시는 것보다 private 테이블 구조와 private 테이블에 데이터를 넣는 코드를 보여주셔야 뭔가 답이 나올 것 같은데요? 남이 짜놓은 SELECT 쿼리만 보고 모듈을 뚝딱 완성시키는 건 어렵거든요 @_@
  • profile
    고수군 2016.10.15 23:56:49

    <query id="getAllDocuments2" action="select">
    <tables>
    <table name="documents" />
    </tables>
    <columns>
    <column name="*" />
    </columns>
    <conditions>
    <condition operation="in" column="module_srl" var="module_srl" filter="number" />
    <condition operation="equal" column="category_srl" var="category_srl" pipe="and" />
    </conditions>
    <navigation>
    <index var="sort_index" default="list_order" order="order_type" />
    <list_count var="list_count" default="20" />
    <page_count var="page_count" default="1" />
    <page var="page" default="1" />
    </navigation>
    </query>

    백승찬님의 선택된 게시판의 전체 게시물 뽑아오는 위젯 기본 쿼리 코드 입니다.
    + 이 기본 위젯에서 비공개 체크된 게시물만 뽑아 오고 싶었습니다.
    따로 제작된 addon 으로 게시물 등록하면 xe_private TABLE에 공개/비공개를 Insert 하도록 되어 있습니다.
    upload_target_srl, module_srl, member_srl, is_private 4개의 column 값이 있습니다. is_private 1:0 으로 들어갑니다.

  • ?
    SimpleCode 2016.10.16 00:05:51

    <table name="documents" alias="documents" > 끝에 슬래시(/)가 빠져있네요.

    <table name="documents" alias="documents" />

     

    XML 파일에서는 태그를 열었으면 반드시 태그를 닫아주셔야 됩니다.
    <table> 태그 안에는 아무 내용도 없으니 그냥 열고 닫아도 됩니다.

     

    <table name="private" alias="private" type="left join" />

     

    <table> 태그 안에 태그가 있는 경우에는 열고 바로 닫으면 안 됩니다.

     

    <table name="private" alias="private" type="left join">

     

    이렇게 고치셔야 할 듯 합니다.

  • profile
    고수군 2016.10.16 01:05:16
    SELECT documents . *
    FROM xe_documents AS documents
    LEFT JOIN xe_private AS private ON private.upload_target_srl = documents.document_srl
    WHERE documents.is_directshare = 'Y'
    AND private.is_private = '1'
    LIMIT 0 , 30

     

    phpmyadmin 에서는 위 쿼리가 아주 잘 출력됩니다.

     

    XE Query 는 잘 모르겠지만.. 아래가 잘 못 된건가요?

    <query id="getAllDocuments2Private" action="select">
        <tables>
            <table name="documents" alias="documents" />
            <table name="torrents" alias="torrents" type="left join">
                <conditions>
                    <condition operation="equal" column="torrents.upload_target_srl" default="documents.document_srl" />
                </conditions>
            </table>
        </tables>
        <columns>
            <column name="documents.*" />
        </columns>
        <conditions>
    
            <condition operation="equal" column="documents.is_directshare" default="Y" pipe="and" />
            <condition operation="equal" column="torrents.is_private" default="1" pipe="and" />
        </conditions>
    <navigation>
    <index var="sort_index" default="documents.list_order" order="order_type" />
    <list_count var="list_count" default="20" />
    <page_count var="page_count" default="1" />
    <page var="page" default="1" />
    </navigation>
    </query>

     

  • ?
    SimpleCode 2016.10.16 09:03:57
    $output = executeQuery('[모듈명].getAllDocuments2Private', $args);
    debugPrint($output);

    오타가 있거나 XML Query 문법에 맞지 않는 경우 잘못된 쿼리가 만들어져서 아무 에러가 없는 것처럼 보이는 경우가 있습니다. 쿼리 실행 결과를 한 번 보셔야 할 것 같네요. executeQuery()를 실행한 결과는 생성된 쿼리문과 함께 반환됩니다.
    $output->_query 이 값이 XML 쿼리를 실제 실행한 SQL문입니다.

List of Articles
번호 제목 글쓴이 날짜
3047 isMobileCheckByAgent 사용에 관하여 질문드립니다. 3 스카이디자인 2016.10.19
3046 아이폰에서 페이지에 삽입된 유튜브 동영상 재생시 풀화면으로만 뜨네요 ㅠㅠ 2 엘비스 2016.10.19
3045 애드센스 오류 질문 고라자 2016.10.19
3044 nginx+php에서 php경로가 어떻게 되는지 아시나요? 5 file 렙흥아 2016.10.19
3043 익명 애드온 관련 문의 메비우스의닭 2016.10.19
3042 업로드시에 rewrite 할 수 있을까요..? 3 루딩 2016.10.18
3041 samba 사용할 때 업로드만 허용하고...삭제는 못하게 할 수 있을까요? 2 하늘희 2016.10.18
3040 파일 대기큐로 쌓인 파일들 한방에 지우는 방법 6 file 고양이 2016.10.18
3039 정말 탐나는 SNS 공유버튼 14 file 낙타 2016.10.18
3038 회원가입 확장모듈에서 관리자에게 통보 메일 html로 2 웹지기 2016.10.17
3037 PHP 소스를 직접 수정하는 일이 없는 경우 opcache 설정 문의 2 고라자 2016.10.17
3036 rss pubdate 날짜형식 변경... 1 스카이디자인 2016.10.17
3035 메타태그 이거 어디 어느파일에 넣어야하나요? 2 대박날때 2016.10.17
3034 permission denied, 첨부파일 100% 사라짐 문제 질문드립니다. 9 masu**** 2016.10.17
3033 게시판 스킨에서 댓글 페이지네이션의 변수값을 조정할 수 있나요? 3 file 윤삼 2016.10.16
3032 댓글 수정, 삭제 클릭시 2 file alrin 2016.10.16
3031 가사 에드온 관련 질문 7 BlackTeddyBear 2016.10.16
3030 혹시 자체 메일서버 구축해서 웹 메일까지 쓰시는 분 있나요? 8 SimpleCode 2016.10.16
» 게시물 목록 XML Query 보충 좀 부탁드립니다. 굽신.. 5 고수군 2016.10.15
3028 mailgun 서비스에서 저희 도메인으로 발송되게 ? 5 웹지기 2016.10.15
Board Pagination Prev 1 ... 71 72 73 74 75 76 77 78 79 80 ... 228 Next
/ 228
위로
서버에 요청 중입니다. 잠시만 기다려 주십시오...