최신글 다중 게시판 문의좀 드립니다.
본문
gnuxe 빌더를 사용하고 있습니다.
하나의 게시판 추출하는 소스는 아래와 같으며 정상적으로 작동되는 gnuxe빌더 원 소스 입니다.
function xe_latest($skin_dir='', $bo_table, $rows=10, $subject_len=40)
{
global $g5, $xe;
static $css = array();
if (!$skin_dir) $skin_dir = 'xe_basic';
$latest_skin_path = XE_SKIN_PATH.'/latest/'.$skin_dir;
$latest_skin_url = XE_SKIN_URL.'/latest/'.$skin_dir;
$cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}.php";
if (!G5_USE_CACHE || !file_exists($cache_file)) {
$list = array();
$sql = " select * from {$g5['board_table']} where bo_table = '{$bo_table}' ";
$board = sql_fetch($sql);
$tmp_write_table = $g5['write_prefix'] . $bo_table; // 게시판 테이블 전체이름
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
}
$handle = fopen($cache_file, 'w');
$cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject=\"".get_text($board['bo_subject'])."\";\n\$list=".var_export($list, true)."?>";
fwrite($handle, $cache_content);
fclose($handle);
}
include_once($cache_file);
ob_start();
include $latest_skin_path.'/latest.skin.php';
$content = ob_get_contents();
ob_end_clean();
return $content;
}
위에 소스를 다중 게시판에서 최신글 추출하도록 아래처럼 변경하였습니다.
function xe_latest2($skin_dir='', $bo_table1, $bo_table2, $bo_table3, $rows=10, $subject_len=40)
{
global $g5, $xe;
static $css = array();
if (!$skin_dir) $skin_dir = 'xe_basic';
$latest_skin_path = XE_SKIN_PATH.'/latest/'.$skin_dir;
$latest_skin_url = XE_SKIN_URL.'/latest/'.$skin_dir;
$cache_file = G5_DATA_PATH."/cache/latest-{$bo_table}-{$skin_dir}-{$rows}-{$subject_len}.php";
if (!G5_USE_CACHE || !file_exists($cache_file)) {
$list = array();
$sql2 = " select * from g5_board_new where bo_table in ('$bo_table1', '$bo_table2', '$bo_table3') ";
$result2 = sql_query($sql2);
while($row2 = mysql_fetch_array($result2)) {
$sql = " select * from {$g5['board_table']} where bo_table = '$row2[bo_table]' ";
$board = sql_fetch($sql);
$tmp_write_table = $g5['write_prefix'] . $row2[bo_table];
$sql = " select * from {$tmp_write_table} where wr_is_comment = 0 order by wr_num limit 0, {$rows} ";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
}
$handle = fopen($cache_file, 'w');
$cache_content = "<?php\nif (!defined('_GNUBOARD_')) exit;\n\$bo_subject=\"".get_text($board['bo_subject'])."\";\n\$list=".var_export($list, true)."?>";
fwrite($handle, $cache_content);
fclose($handle);
}
}
include_once($cache_file);
ob_start();
include $latest_skin_path.'/latest.skin.php';
$content = ob_get_contents();
ob_end_clean();
return $content;
}
select wr_content from g5_write_ where wr_id = '7'
1146 : Table 'lovedb2.g5_write_' doesn't exist
error file : /index.php
위와같이 계속적으로 동일한 오류가 발생하네요 ;;
대략 thumbnail 쪽 sql 문인듯 하네요;;
3일째 아무것도 못하고 이것만 하고 있는데, 참 몇줄 안되는게 참 힘들게 하네요 ;;
뭔가 잘못 고친부분이 있는지좀 부탁 드립니다.
답변 2
혹시나 해서 드리는 말씀인데요..
관리자페이지 > 환경설정 > 캐시파일 삭제 를 하셨겠지요? ^^
get_list_thumbnail 함수의
이 부분으로 의심이 되는데요..
get_list_thumbnail 함수 안으로 $bo_table 값이 잘 넘어가는 지를 확인해 보셔야 할 것 같습니다.
관리자페이지 > 환경설정 > 캐시파일 삭제 를 하셨겠지요? ^^
get_list_thumbnail 함수의
$write_table = $g5['write_prefix'].$bo_table;
$sql = " select wr_content from $write_table where wr_id = '$wr_id' ";
이 부분으로 의심이 되는데요..
get_list_thumbnail 함수 안으로 $bo_table 값이 잘 넘어가는 지를 확인해 보셔야 할 것 같습니다.
38 line
$list[$i] = get_list($row, $board, $latest_skin_url, $subject_len);
$board_id[$i] = $row2[bo_table]; // 추가
latest.skin.php
get_list_thumbnail($board['bo_table']
=> get_list_thumbnail($board_id[$i] // 변경
답변을 작성하시기 전에 로그인 해주세요.