메뉴 건너뛰기

Star Rating 별점 위젯 업데이트 정보

Average Rating:
7.1/10 8명 참여
Rate this page:
일본어선생 (9)   익명 (8)   익명 (6)   익명 (8)   익명 (9)   익명 (5)   익명 (6)   익명 (6)  
평점 한줄평 글쓴이 작성날짜
6
(-49669) 06/01 10:52
6
(-48345) 07/12 13:21
5
(-43573) 02/11 22:02
9
(-64790) 11/25 12:22
8
(-15433) 11/18 22:39
6
(-1177) 11/08 21:27
8
(-29079) 06/01 04:22
9
0 일본어선생 (4) 01/29 10:50

2014.03.13

star.js 수정했습니다.

 

아래와 같이 함수 실행시에 input 필드의 값을 참조하지 않고 변수값을 바로 입력하여 전달합니다.

addstar({$widget_info->member_srl},{$widget_info->document_srl},{$i})

removestar({$list->member_srl},{$widget_info->document_srl})


 

 

star_rating.class.php

 

return new Object(0, print_r($average,true));

에러가 발생하면 표시 될 내용

 

 

    
    require $_SERVER['DOCUMENT_ROOT']."/files/config/db.config.php";
    $oDB=&DB::getInstance(); //xe의 DB 호출
    $tablename = $db_info->master_db['db_table_prefix'].'document_voted_log';
    $tablename2 = $db_info->master_db['db_table_prefix'].'documents';

    //평균을 바로 구함
    $rateval_average = $oDB->_query("select avg(rateval) as average from $tablename where document_srl='$args->document_srl' group by document_srl");
    $outputx = $oDB->_fetch($rateval_average);
    //echo '목록 수 : '.count($output).', 점수 : '. print_r($output,true);
    $averagex = $outputx->average; // 평균점수
    //echo '평균점수 : '.$average;

    // 평균 점수 업데이트
    $query = $oDB->_query("update $tablename2 set rateval=$averagex where document_srl=$args->document_srl");    

 

 

 

            $oMemberModel = &getModel('member'); // 멤버 모듈 로드
            $this->oPointModel = &getModel('point'); // 포인트 모듈 로드

            $obj->list_count = $list_count; // db에서 몇명만 가져올지
            $obj->is_admin = $args->without_admin == "true" ? "N" : ""; // 어드민만 불러 올 것인지

            $output = new Object(); // 오브젝트로 선언

            if($args->with_group || $args->without->group) { //제외대상
                if($args->with_group) $obj->selected_group_srl = $args->with_group;
                else $obj->selected_group_without_srl = $args->without_group;
                $output = executeQuery('widgets.star_rating.getMemberListWithinGroup', $obj); //혼합
            }
            else {
              //전체 포인트 목록을 구해옴
              $output = executeQuery("widgets.star_rating.getMemberList",$obj);

             // 준비된 쿼리문에 조건문(conditions)과 정렬 등(navigation)에 사용될 값이 다수일 경우에는, 배열형태의 $obj로 전달한다.

             // 조건이 하나일 경우에는 배열로 하지 않아도 된다.
             // 전체 구해옴, point 테이블의 member_srl 컬럼에 기록된 회원 번호를 member 테이블의 member_srl 과 교집합만을 구함

 

<query id="getMemberList" action="select">
    <tables>
        <table name="member" alias="member"/>
        <table name="point" alias="point"/>
    </tables>
    <columns>
             // output으로 출력될 데이버의 구조
        <column name="member.*" />
        <column name="point.point" />

             // 데이터 저장은

             // member 테이블의 모든 컬럼을 가져오고

             // point 테이블에서는 point 컬럼만 가져옴
    </columns>
    <conditions>

            // $obj 배열에 있는 값들에서 자동으로 var 에 명시된 데이터명의 값을 취하고

            // 조건에 해당하는 교집합만 가져옴
        <condition operation="equal" column="member.member_srl" var="point.member_srl" />
        <condition operation="equal" column="is_admin" var="is_admin" pipe="and" />
    </conditions>
    <navigation>
        <index var="sort_index" default="point" order="desc" />
        <list_count var="list_count" default="20" />
        <page_count var="page_count" default="10" />
        <page var="page" default="1" />
    </navigation>
</query>

 

 

              // 예

             // member : member_srl : 2, nick : 일본어선생, group : admin

             // member : member_srl : 4, nick : 독일어선생, group : master

             // member : member_srl : 6, nick : 대만어선생, group : manager

             // member : member_srl : 7, nick : 중국어선생, group : manager

 

             // point     : member_srl : 2, point: 100

             // point     : member_srl : 6, point: 150

 

             // member_srl을 기준으로 교집합은 2개

             // 데이터의 구조는

             // member 테이블의 테이블 2개와 point 테이블의 1개를 합한 3개

             // data=>member_srl, data=>nick, data=>point

             // 실질적인 데이터

             // output[0]->(data[member_srl] :2, data[nick] : 일본어선생, data[group] : admin, data[point] : 100)

             // output[1]->(data[member_srl] :6, data[nick] : 대만어선생, data[group] :manager, data[point] : 150)

 

            }

            // 오류가 생기면 그냥 무시
            if(!$output->toBool()) return; //데이터를 제대로 구하지 못했을 경우

            // 결과가 있으면 각 문서 객체화를 시킴
            if(count($output->data)) { // 2개의 데이터열
                foreach($output->data as $key => $val) { // 데이터열 한개씩 $key(각각 0과, 1)로 두고, 3개의 테이블 값을 $val에 담는다
                    $point_list[$key] = $val;

             // $point_list 라는 배열변수에

             // $point_list[0]에는 (member_srl :2, nick : 일본어선생, group : admin, point : 100)

             // $point_list[1]에는 (member_srl :5, nick : 대만어선생, group : manager, point : 150)

             // 로 담아주며 output 이나 data 라는 것을 $point_list에 구조화 한다.                }
            } else {
                $point_list = array();
            }

제목 날짜
Star Rating 별점 위젯 업데이트 정보   2014.03.09
Bootstrap Menu templetes   file
    9
Font Awesome   file
    9
플레시 메뉴 layout 원본  
    8
태그 목록