아직 로그인하지 않았습니다. 로그인 또는 회원 등록을 해 주시기 바랍니다.

안내

글을 찾기 위한 검색 메뉴는 바로 위 메뉴의 '회원 명단' 옆에 있습니다~
TNF는 회사가 아니라 오픈소스 커뮤니티입니다. textcube.org 는 회사에서 운영하는 서비스가 아니라, 커뮤니티에서 개발하는 소프트웨어입니다.
(2007.1.10) TNF는 해당 포럼 및 위키, trac 저장소상에서 이메일 수집을 금지합니다. 해당 공지 를 포럼 하단에 명기하였습니다.
(2007.2.9) TNF와 태터툴즈/텍스트큐브 코드 수정에 관한 workflow를 정리하였습니다. 안내
(2007.4.5) 공식 소스 버그 리포터 그룹의 일원이 되어주실 분들을 찾습니다. :) 관련 공지

최근소식

(2016.1.18) 텍스트큐브 1.10.9 의 첫 베타 버전을 배포합니다. 내려받기
(2015.11.19) 텍스트큐브 1.10.8 : Tempo primo를 배포합니다. 내려받기
(2015.7.9) 텍스트큐브 1.10.8의 첫번째 발표 후보를 배포합니다. 내려받기
(2015.6.4) 텍스트큐브 1.10.7 : Tempo primo를 배포합니다. 내려받기

포럼 내용 넘어가기

TNF : Tatter Network Foundation forum

태터 네트워크 재단 - 태터앤프렌즈 포럼입니다 :)


새 댓글 쓰기

새 댓글 쓰기

새 댓글 쓰기

사용할 수 있는 기능: BBCode 이미지 웃음그림

입력을 마치기 전에 (필수) 로 명기된 부분은 모두 적어 주셔야 합니다.

방문자의 경우 필요한 정보



Captcha image. Turn pictures on to see it.
필요한 정보
선택사항설정

주제 보기 (새 글 순)

1

OS : Windows2000 Server SP4
APM6 (Apache2.2.8 + PHP5.2.5 + MySQL5.0.51a) <- Apache + PHP만 사용.
DB : MySQL4.1.22
Textcube : 1.6.3 확장판

위 환경에서 다중 블로그 사용중입니다.

대표블로그의 표지에 관리자가 올린 공지 글을 작성 일자에 상관없이 상단에 노출 시킬려고 이리저리 찾아보던중...

"MT_Meta_RecentPS_Default" 라는 플러그인에서 최근 글 리스트를 조회하더라구요.

그리고 플러그인에서는

[Textcube_Home]/components/Textcube.Model.Paging.php 소스에 있는

"fetchWithPaging" 라는 function을 호출해서 사용하던데요.


물론, 고수님들은 이미 너무 잘 알고 계시겠지만....php 첨하는 초보에게는 나름 힘든 여정이었네여^^;;;;

암튼, 그리하여 플러그인에서 날리는 쿼리를 제가 만든 쿼리로 대체해서 조회하니...

에러가 발생해서 컴포넌트 소스를 나름 뜯어보니....

전체 카운트 해오는 쿼리가 플러그인에서 날리는 쿼리의 from 절 이하는 그대로 따와서 select 절을 count(*)로 대체해서 전체 건수를 구하던데여..... 이부분에서 에러가 나더라구요.

잔머리를 살포시 굴려 동일한 function을 하나 더 만들고 count 부분의 쿼리만 살포시 바꿔주면 될줄 알았는데...

이것두 에러가 나네여...

컴포넌트에서 function을 추가하면 달리 해줘야 하는게 있는지여???



ps - 새로 던져줄려고 하는 쿼리입니다.

select
e.blogid, e.id, e.userid, e.title
, e.content, e.slogan, e.category, e.published, e.contentFormatter /*, c.label*/
from (
    (
        select
            blogid, id, userid, title
            , content, slogan, category, published, contentFormatter, '0' as aaa
        from tc_entries
        where blogid = '1'
            and category = '-2'
            and visibility = '2'
        order by published desc
    )
    union
    (
        select
            blogid, id, userid, title
            , content, slogan, category, published, contentFormatter, '1' as aaa
        from tc_entries
        where category <> '-2'
            and visibility = '2'
            and blogid <> '1'
        order by published desc
    )
    order by aaa, published desc
) e LEFT JOIN tc_Categories c ON e.blogid = c.blogid AND e.category = c.id





ps2 - 새로 생성하려는 function 입니다.
/*
* 기존에 있는 fetchWithPaging function에서 이름만 바꾸고 전체 카운트 구하는 쿼리만 변경한 function
*/
function fetchWithPagingForCoverByPark($sql, $page, $count, $url = null, $prefix = '?page=', $countItem = null) {
    global $folderURL, $service;
    if ($url === null)
        $url = $folderURL;
    $paging = array('url' => $url, 'prefix' => $prefix, 'postfix' => '');
    if (empty($sql))
        return array(array(), $paging);
    if (preg_match('/\s(FROM.*)(ORDER BY.*)$/si', $sql, $matches))
        $from = $matches[1];
    else
        return array(array(), $paging);
    /* 전체 카운트 구하는 쿼리는 별도 */
    $paging['total'] = POD::queryCell("select count(*) from tc_entries where visibility = '2'");
    if ($paging['total'] === null)
        return array(array(), $paging);
    if (empty($count)) $count = 1;
    $paging['pages'] = intval(ceil($paging['total'] / $count));
    $paging['page'] = is_numeric($page) ? $page : 1;
    if ($paging['page'] > $paging['pages']) {
        $paging['page'] = $paging['pages'];
        if ($paging['pages'] > 0)
            $paging['prev'] = $paging['pages'] - 1;
            //return array(array(), $paging);
    }
    if ($paging['page'] > 1)
        $paging['prev'] = $paging['page'] - 1;
    if ($paging['page'] < $paging['pages'])
        $paging['next'] = $paging['page'] + 1;
    $offset = ($paging['page'] - 1) * $count;
    if ($offset < 0) $offset = 0;
    if ($countItem !== null) $count = $countItem;

    return array(POD::queryAll("$sql LIMIT $offset, $count"), $paging);
}



Currently installed 7 official extensions. Copyright © 2003–2009 PunBB.