Spac 매뉴얼/MySQL Dao

예제3 : 데이터의 조회

webdata 2009. 11. 18. 22:35
먼저 데이터 조회 예제를 수행하기 위해 기본 데이터를 넣어 놓겠습니다.

Insert Into member ( user_id, user_name, reg_date) values ( 'dukman', '덕만', now() );
Insert Into member ( user_id, user_name, reg_date) values ( 'misil', '미실', now() );
Insert Into member ( user_id, user_name, reg_date) values ( 'bidam', '비담', now() );

위의 쿼리문을 실행하여 데이터를 3건 등록한 후 예제2의 회원수구하는 클래스인 "Member" 를 바로 호출해 보도록 하겠습니다.


브라우저에서 결과를 확인 합니다.

결과는 "회원수는 3 명 입니다." 라고 메세지가 출력될 것입니다.


그럼 이제 실제 3명의 상세 데이터값을 가져와 봅니다.
Member 클래스를 좀 더 보완하겠습니다.

* Spac/model/Member.Class.php
<?php
class Member extends Controller {

    var $data_list;
    
    function Member() { }

    function initMember() {               //맴버클래스 초기화메소드를 만들고 여기서 DB 연결을 합니다.
        $this->getControllerInstance("Dao");        // Dao 클래스를 로드합니다.
        $this->Dao->transaction = true;                    // 트랜젝션을 Start 합니다.
        $this->Dao->Connect();                            // DB를 연결합니다.
    }

    function getCount() {
        $query = " Select count(*) From member ";
        $this->Dao->
executeQuery($query);
        echo "<p>회원수는 " . $this->Dao->getResult() ." 명 입니다.</p>";
    }

    function getList() {
   
        $this->data_list = array();                         //결과를 담을 변수를 초기화 합니다.

        $query = " Select * From member ";          //전체 데이터 검색 쿼리문 작성
        $this->Dao->
executeQuery($query);                //쿼리문 실행

      $Result = $this->Dao->result;
        while( $Rows = $this->Dao->getFetchArray() ) { //결과값을 행을 돌며
             $this->data_list[] = $Rows;               //결과 변수에 배열로 담습니다.
        }

        echo "<pre>";                                      //배열로 담긴 결과값을 보기 쉽도록 출력합니다.
        print_r($this->data_list);
        echo "</pre>";

    }



    function execute() {                                     //Spac의 기본 액션메소드를 정의합니다.
        $this->initMember();                               
//기본메소드가 호출되면 DB연결을 수행합니다.
        echo "<p>데이터베이스 연결에 성공했습니다.</p>"; 


      $this->getCount();
       $this->getList();
  


    }

}
?>




브라우저에서 결과를 확인 합니다.

결과는 "회원수는 3 명 입니다." 와 회원 테이블의 정보들이 배열형태로 출력될 것입니다.





지금까지는 뷰를 거치지 않고 클래스에서 바로 출력하는 예제를 실행 해봤습니다.
다음 예제에서는 클래스에서 출력하지 않고 해당 클래스와 연결된 뷰에서 데이터를 출력하는 예제를 작성해 보겠습니다.