카테고리별 쿼리문 문의드립니다
본문
몇일동안 쿼리문하고 씨름하다가 결국에는 문의드립니다.
요일별로 쿼리문을 만들어도 제가 잘못한건지 계속 리스트 전체를 불러옵니다
요일별 카테고리를 불러올려고하는데 잘안되네요
예)월|화|수|목 있으면 화요일 카테고리에 있는 리스트를 불러오고싶습니다
고수님들의 많은 가르침을 기다리고 있겠습니다
<?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 가 인클루드 되지 않는 문제가 생기는 데 그 부분을 체크해 볼 수 있습니다.
!-->