You cannot see this page without javascript.

test/test.php

<?php
 define('__ZBXE__', true);
 define('__XE__', true);
 require_once $_SERVER['DOCUMENT_ROOT'].'/config/config.inc.php';
 $oContext = &Context::getInstance();
 $oContext->init();
      $args->document_srl = 1608;
      $args->rateval = 1; //1점이상인 사람만 가져옴
      $output = executeQueryArray('widgets.star_rating.getStarRatedList', $args);

 echo print_r($output,true);

$oContext->close();

?>

 


widgets/star_rating/query/getStarList.xml

 

<query id="getDocumentStarRatedList" action="select">
    <tables>
        <table name="document_voted_log" />
    </tables>
    <columns>
        <column name="member_srl" />
        <column name="rateval" />
    </columns>
    <conditions>
        <condition operation="equal" column="document_srl" var="document_srl" filter="number" notnull="notnull" pipe="and" />
        <condition operation="more" column="rateval" var="rateval" filter="number" pipe="and" />
    </conditions>
</query>


 

위와 같이 test.php 파일과 getStarList.xml 이라는 파일을 생성하고 test.php를 실행하면 제대로 배열값이 표시됩니다.

 

 

*풀이하기

 

1. test.php파일에 config.inc.php 를 읽어 들이면

'config/func.inc.php' 파일을 함께 포함하게 되면 아래와 같이 func.in.php에 정의된 다양한 xe의 기본 함수를 사용할 수 있습니다.

 

    function executeQuery($query_id, $args = null) {
        $oDB = &DB::getInstance();
        return $oDB->executeQuery($query_id, $args);
    }


 

2. 단,  $oContext = &Context::getInstance(); 를 선언해 주어야 제대로 작동합니다.

 

*고민

  

xe의 모듈과 위젯의 query를 이용할 수 있다는 점은 좋지만

새로운 db query 문을 실행하기 위해서는 선택을 해야합니다.

특정 모듈의 query 폴더에 쿼리 내용의 xml 파일을 만들어 저장하여 executeQuery() 함수를 사용할 것인지

아니면  $oDB=&DB::getInstance(); 를 선언하 사용할 것인지를.

 

아래의 코드는 위와 비슷한 db값을 출력하는 내용입니다. 다른 점을 찾아보세요.

 

test/test2.php

 

<?php
 define('__ZBXE__', true);
 define('__XE__', true);
 require_once $_SERVER['DOCUMENT_ROOT'].'/config/config.inc.php';
 $oContext = &Context::getInstance();
 $oContext->init();

 $oDB = &DB::getInstance();

 

 //$args->document_srl = 1608;
 //$args->rateval = 1; //1점이상인 사람만 가져옴

$member_srl = 4;

$document_srl = 1608;
$tablename = 'db_document_voted_log';

 // 사용자가 투표한 적이 있는지 검사
 $result = $oDB->_query("select rateval from $tablename where member_srl='$member_srl' && document_srl='$document_srl'");
 $output = $oDB->_fetch($result); //배열 재구성


echo print_r($output,true);

$oContext->close();

?>

엮인글 :
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

Linux 변경사항이 유지되는 리눅스를 USB메모리에 만들기(우분투 계열) [13]

  • LynX
  • 2015-01-07
  • 조회 수 587

Linux USB부팅 리눅스의 변경 사항 초기화 [16]

  • LynX
  • 2015-01-07
  • 조회 수 3612

Linux 하드 라이브 부팅 [13]

  • LynX
  • 2015-01-06
  • 조회 수 449

Linux 리눅스 부팅시 초기화 [21]

  • LynX
  • 2015-01-05
  • 조회 수 1083

Linux 부트 시스템 만들기 [10]

  • LynX
  • 2015-01-05
  • 조회 수 1343

Linux iconv 이용하여 문자셋 변경

  • LynX
  • 2015-01-03
  • 조회 수 193

SoftWare mysql 설치 옵션 [10]

  • LynX
  • 2015-01-02
  • 조회 수 230

OpenSolaris Open Solaris 에서 MariaDB 설치 [8]

  • LynX
  • 2014-12-30
  • 조회 수 786

Linux ls 명령어 메뉴얼 [9]

  • LynX
  • 2014-12-30
  • 조회 수 218

OpenSolaris Open Solaris 설치 file [12]

  • LynX
  • 2014-12-30
  • 조회 수 420

CentOS CentOS 에 설치된 커널과 오랜된 커널 삭제하기

  • LynX
  • 2014-12-30
  • 조회 수 974

LinuxMint LinuxMint PHP source 설치 [1]

  • LynX
  • 2014-12-30
  • 조회 수 298

LinuxMint LinuxMint Apache source 설치 file [8]

  • LynX
  • 2014-12-29
  • 조회 수 574

Server Open Solaris 패키지 설치 및 삭제

  • LynX
  • 2014-12-29
  • 조회 수 513

Linux 리눅스 게이밍 가이드 2부 : 실전 게임 플레이와 문제 해결 [13]

  • LynX
  • 2014-12-24
  • 조회 수 719

Linux 리눅스 게이밍 가이드 1부 : 게임을 위한 환경 설정 [10]

  • LynX
  • 2014-12-24
  • 조회 수 1036

Linux opensuse yum repository 추가 [13]

  • LynX
  • 2014-12-23
  • 조회 수 641

Linux ISO 마운트 [10]

  • LynX
  • 2014-12-22
  • 조회 수 520

Linux lol 설치 [9]

  • LynX
  • 2014-12-22
  • 조회 수 959

Linux ibus 한영키 전환 문제 nabi [12]

  • LynX
  • 2014-12-19
  • 조회 수 486

XE Login