중복선택(분류) 가능한 게시판에서 최근게시물로 분류별 이미지 뽑기
아래는 현재 사용중인 중복 선택 가능한 갤러리 소스입니다.
#######write.skin.php #########
<?
$sql2 = " select bo_category_list from $g4[board_table] where bo_table = '$bo_table' ";
$result2 = sql_fetch($sql2);
$row3 = explode("|", $result2['bo_category_list']);
<?
$sql2 = " select bo_category_list from $g4[board_table] where bo_table = '$bo_table' ";
$result2 = sql_fetch($sql2);
$row3 = explode("|", $result2['bo_category_list']);
foreach( $row3 as $value) {
echo "<input type=checkbox value=$value name=catt[]><font color=#000000>$value</font></label>"; }
?>
echo "<input type=checkbox value=$value name=catt[]><font color=#000000>$value</font></label>"; }
?>
############################
######write_update.skin ########
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_10= implode(',', $catt);
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$wr_10= implode(',', $catt);
$sql3 = " update g4_write_gallery set wr_10='$wr_10' where wr_id='$wr_id'";
sql_query($sql3);
?>
###########################
sql_query($sql3);
?>
###########################
#########list.skin.php #########
<?
$cnt_bo_1 = $bo_1[0] ? $bo_1[0] : 10; // 한줄당 분류 갯수(현재:10)
$cnt = 1;
$cnt0 = 0;
$bb_s=""; $bb_e="";
$b_s=""; $b_e="";
$arr = explode("|", $board[bo_category_list]); // 구분자가 , 로 되어 있음
$str = "";
for ($i=0; $i<count($arr); $i++)
if (trim($arr[$i])) {
if ($sca == $arr[$i]) { $cnt0++; $b_s=""; $b_e=""; } else {$b_s=""; $b_e="";}
$str .= " <a href='./board.php?bo_table=gallery&sca=&sfl=wr_10&stx=".($arr[$i])."' onfocus='this.blur()'><font color='#000000'>$b_s$arr[$i]$b_e</font> </a> ";
if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= "<br>"; }
$cnt++;
}
if ($cnt0 == 0 ) { $bb_s=""; $bb_e=""; }
?>
##############################
$cnt_bo_1 = $bo_1[0] ? $bo_1[0] : 10; // 한줄당 분류 갯수(현재:10)
$cnt = 1;
$cnt0 = 0;
$bb_s=""; $bb_e="";
$b_s=""; $b_e="";
$arr = explode("|", $board[bo_category_list]); // 구분자가 , 로 되어 있음
$str = "";
for ($i=0; $i<count($arr); $i++)
if (trim($arr[$i])) {
if ($sca == $arr[$i]) { $cnt0++; $b_s=""; $b_e=""; } else {$b_s=""; $b_e="";}
$str .= " <a href='./board.php?bo_table=gallery&sca=&sfl=wr_10&stx=".($arr[$i])."' onfocus='this.blur()'><font color='#000000'>$b_s$arr[$i]$b_e</font> </a> ";
if ($cnt == $cnt_bo_1) { $cnt = 0; $str .= "<br>"; }
$cnt++;
}
if ($cnt0 == 0 ) { $bb_s=""; $bb_e=""; }
?>
##############################
이렇게 위와같이 구현해서 기존의 셀렉트형 단일 분류가 아닌
체크박스를 이용해서 중복분류 선택이 가능하게끔해서 사용중입니다.
체크박스를 이용해서 중복분류 선택이 가능하게끔해서 사용중입니다.
그런데 이번해 해 볼려고 하는것이
메인화면에 하나의 게시판(갤러리)에서 분류별로 이미지를 추출할려고 합니다.
인물
사진1 사진 2 사진 3
사진1 사진 2 사진 3
풍경
사진1 사진2 사진3
사진1 사진2 사진3
이런식으로요 근데 코드가 변경되다 보니
푸름빠덜님의 카테고리별 최신글 불러오기
의 적용이 잘 되지 않습니다.
푸름빠덜님의 inc_config.php 소스를 보면
#################### inc_config.php#########
<?
<?
function latest_category($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options=""){//게시판에서 카테고리별 최신글 추출
global $config;
global $g4;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
global $config;
global $g4;
if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
$list = array();
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 전체이름
$sql2 = " select bo_category_list from $g4[board_table] where bo_table = '$bo_table' order by bo_table ";
$result2 = sql_fetch($sql2);
$cat_row = explode("|", $result2[bo_category_list]);
for ($j=0; $j<count($cat_row); $j++) { //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$sql = " select * from $tmp_write_table where ca_name='".$cat_row[$j]."' and wr_is_comment = 0".$GLOBALS["ssh_wr_nogood"]." order by wr_id desc limit 0, $rows "; //##add06-04-12
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++){ //###############
$list[$j][$i] = get_list($row, $board, $latest_skin_path, $subject_len);
} //########
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
$k++;
} //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
return $content;
}
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 전체이름
$sql2 = " select bo_category_list from $g4[board_table] where bo_table = '$bo_table' order by bo_table ";
$result2 = sql_fetch($sql2);
$cat_row = explode("|", $result2[bo_category_list]);
for ($j=0; $j<count($cat_row); $j++) { //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
$sql = " select * from $tmp_write_table where ca_name='".$cat_row[$j]."' and wr_is_comment = 0".$GLOBALS["ssh_wr_nogood"]." order by wr_id desc limit 0, $rows "; //##add06-04-12
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++){ //###############
$list[$j][$i] = get_list($row, $board, $latest_skin_path, $subject_len);
} //########
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
$k++;
} //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
return $content;
}
?>
###########################
위 소스중에서
$cat_row = explode("|", $result2[bo_category_list]);
위 부분을 변경해야하는데
$cat_row = explode(",", help);
help 부분을 어떻게 처리해야하는지 도무지 모르겠습니다.
wr_10
$list[$i][wr_10]
$view[wr_10]
$list[$i][wr_10]
$view[wr_10]
여기저기 팁란등을 보면서 위 값을 넣어보았지만
$cat_row 에 값이 제대로 들어가지 않네요
위 부분 말고도 수정할 곳이 더 있는지도 잘 모르겠습니다.
푸름파덜님의 소스를 적용할려면 최초부터 중복 카테고리 방식의 소스를
변경해야할까요?
변경해야할까요?
고수님들의 가르침과 더불어 관심있으신 분들의 작은 한마디 모두
감사히 듣겠습니다.
미리 감사드려요
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기
댓글 2개
ca_name='".$cat_row[$j]." ==> wr_10='".$cat_row[$j]."
으로 변경하면 되네요
끝까지 안되면 누군가 도와줄 사람이 있다는 것만으로 마음이 편해지니
어제 안보이던게 보이네요
관심가져주셔서 감사드립니다. 푸름빠덜님~
!덧붙임 : 이전에 올려주신 팁도 잘 쓰겠습니다. 즐거운 하루되세요 ^^