카테고리별 쿼리문 문의드립니다

카테고리별 쿼리문 문의드립니다

QA

카테고리별 쿼리문 문의드립니다

본문

몇일동안 쿼리문하고 씨름하다가 결국에는 문의드립니다.

요일별로 쿼리문을 만들어도 제가 잘못한건지 계속 리스트 전체를 불러옵니다

요일별 카테고리를 불러올려고하는데 잘안되네요

예)월|화|수|목 있으면 화요일 카테고리에 있는 리스트를 불러오고싶습니다

고수님들의 많은 가르침을 기다리고 있겠습니다



<?php
if(!defined("_GNUBOARD_")) exit("Access Denied");

include_once("lib/cmm.lib.php");
include_once("lib/filedir.php");
include_once("lib/imageutil.php");
include_once("lib/thumbnail.php");

ini_set("display_errors", true);


$aq = array();
$aw = array();


//카테고리 선택했을때
if($wt_sca){
	$aw[] = "wt_sca='".$wt_sca."'";
	$aq['wt_sca'] = $wt_sca;
}

//연재중, 완결 선택때

if(isset($wt_fin)){
	$aw[] = "wt_fin='".$wt_fin."'";
	$aq['wt_fin'] = $wt_fin;
}

//웹툰 검색일때
if($wt_title){
	$titles = explode(' ', $wt_title);
	$titles = array_map('trim', $titles);
	for($i=0;$i<count($titles);$i++){
		$titles[$i] = "INSTR(wt_title, '".$titles[$i]."')";
	}
	
	$aw[] = implode(" AND ", $titles);
	$aq['wt_title'] = $wt_title;

//웹툰을 선택했을때
}else if($sca){
	$aw[] = "wt_idx='".$sca."'";
}

if($wt_cho){
    $aw[] = "wt_cho='".$wt_cho."'";
    $aq['wt_cho'] = $wt_cho;
}

$wqstr = "";
if(count($aw)>0) $where = " AND ".@implode(" AND ", $aw);
if(count($aq)>0) $wqstr = "&".bt_qs_gen($aq);

$wpage = isset($_GET["wpage"]) && trim($_GET["wpage"]!=="") ? $_GET["wpage"] : '1';
//게시판에 커버의 페이지번호가 따로붙게 한다
$qstr .= "&wpage=".$wpage;

$sql = "SELECT count(*) as cnt FROM bt_webtoon WHERE bo_table='".$bo_table."'".$where;
$rs = sql_fetch($sql);
$wtotal_count = $rs["cnt"];

$wpage_rows = WT_COVER_CNT;
$wtotal_page  = ceil($wtotal_count / $wpage_rows);  // 전체 페이지 계산

$wfrom_record = ($wpage - 1) * $wpage_rows; // 시작 열을 구함

$sql = "SELECT * FROM bt_webtoon WHERE bo_table='".$bo_table."'".$where." ORDER BY wt_idx DESC LIMIT ".$wfrom_record.", ".$wpage_rows;
$gresult = sql_query($sql);

$glist = array();

//크기 고정일 경우 벗어나는 부분 자름
$a_fix = array();
if(WT_THUMB_FIX){
    $a_fix = array(
        "sizefix" => true,
        "crop_posx" => BThumbnail::CROP_POSX_CENTER,
        "crop_posy" => BThumbnail::CROP_POSY_MIDDLE
    );
}
for($i=0;$rs=sql_fetch_array($gresult);$i++){
	$rs["a_link"] = G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&sca='.$rs['wt_idx'];
	$rs["title"] = $rs["wt_title"];
	$rs["thumb"] = "";
	if(trim($rs["wt_thumb"])!="" && file_exists(WT_DATA_PATH.'/'.$rs['wt_thumb'])){
        
		list($fname) = BThumbnail::makeThumb(
	        WT_DATA_PATH.'/'.$rs["wt_thumb"],
	        WT_DATA_PATH,
	        WT_THUMB_W, WT_THUMB_H,
	        $a_fix
		);
        
		$rs["thumb"] = '<img src="'.WT_DATA_URL.'/'.$fname.'">';
	}
	
	$glist[] = $rs;
}

$grs = $glist[0];

//===========================================================================
// 카테고리
//===========================================================================
// 분류 사용 여부
$is_category = false;
$category_option = '';

if ($board['bo_use_category']) {
    $is_category = true;
    $cate_href = G5_BBS_URL.'/board.php?bo_table='.$bo_table;

    $cates = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
    $cate_cnt = count($cates);
    $cate_width = sprintf("%.2f", (100 / $cate_cnt));

    /*$categories = explode('|', $board['bo_category_list']); // 구분자가 , 로 되어 있음
    $tcnt = count($categories);
    $width = sprintf("%.2f", (100 / $tcnt));
    //$style = ' style="width:'.$width.'%; min-width:60px"';
    
    $category_option .= '<li'.$style.'><a href="'.$category_href.'"';
    if ($wt_sca=='')
        $category_option .= ' class="on"';
    $category_option .= '>전체</a></li>';
    
    for ($i=0; $i<count($categories); $i++) {
        $category = trim($categories[$i]);
        if ($category=='') continue;
        $category_option .= '<li'.$style.'><a href="'.($category_href."&wt_sca=".urlencode($category)).'"';
        $category_msg = '';
        if ($category==$wt_sca) { // 현재 선택된 카테고리라면
            $category_option .= ' class="on"';
            $category_msg = '<span class="sound_only">열린 분류 </span>';
        }
        $category_option .= '>'.$category_msg.$category.'</a></li>';
    }*/
}

include_once($board_skin_path."/cover_list.skin.php");

<ul class="homelist col-8">
<li class="section-title section-title-1">월</li>
<li class="section-item section-item-1">
<?php for($i=0;$i<count($glist);$i++){?>
<div class="section-item-inner"> 
<div class="section-item-photo">
<div class="toon-summary"></div>
</div>
</div>
<?php }?>
</li>
</ul>

이 질문에 댓글 쓰기 :

답변 1

쿼리문 자체에는 문제가 없습니다.


...
//카테고리 선택했을때
if($wt_sca){
	$aw[] = "wt_sca='".$wt_sca."'";
	$aq['wt_sca'] = $wt_sca;
}
...

$sql = "SELECT * FROM bt_webtoon WHERE bo_table='".$bo_table."'".$where." ORDER BY wt_idx DESC LIMIT ".$wfrom_record.", ".$wpage_rows;
$gresult = sql_query($sql);


의도했던 대로 카테고리별 리스트가 나오지 않는다면, 다른 부분에서 문제가 있을 가능성이 크지 않을까 합니다.


1) $wt_sca 에 정상적으로 값이 들어가는지 확인해 볼 수 있습니다.

get 변수나 post 변수로 'wc_sca=월' 등으로 호출이 되어야 겠죠.

간단하게는 echo $wt_sca; 로 확인해 볼 수 있을 것입니다.


2) $wt_sca 에는 값이 정상적으로 들어온다면 그다음으로는 쿼리문을 확인해 볼 수 있습니다.

ecoh $sql; 로 확인하여

... SELECT * FROM bt_webtoon WHERE bo_table='[게시판명]' where wt_sca = '월' .. 등으로 나오는지 살펴 볼 수 있습니다.


3) 지금까지 문제가 발견되지 않았다면.. 저장된 DB 자료 자체에 카테고리 정보가 정상적으로 들어가 있는지 확인해 볼 수 있지 않을까 합니다. (bt_webtoon 테이블 데이터 확인)


4) 기타, 가능성은 적다고 생각되지만.. 해당 스킨 제작자의 설명글에 보면..

스킨명을 다른 것으로 변경하는 경우에는 extend/ 에 포함하는 파일 또한 해당 스킨명으로 수정해 주어야 한다는 부분이 있습니다. 스킨명이 변경되는 경우에는 그 부분을 변경해 주지 않으면 해당 스킨 환경설정 파일 config.php 가 인클루드 되지 않는 문제가 생기는 데 그 부분을 체크해 볼 수 있습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,665 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT