wr_1 ~ wr_10 의 여분필드를 최신게시물에 가져오려고 합니다.
본문
wr_1 ~ wr_10 의 여분필드를 최신게시물에 가져오려고 합니다.
아래의 소스에서 여분필드를 사용하기 위해서 무엇을 추가하면 되나요?
감사합니다.
====================================================================
여러개의 게시판을 하나의 최신글로 불러오기
latest.lib.php 하단에 아래 함수를 추가하시면됩니다.
<?php
// $bo_tables 테이블들 사이 콤마(,) 단위로 구분해서 넣을 것, 콤마 사이에 공백 없이 (ex aaa,bbb,)
function latest_all($skin_dir='', $bo_tables, $rows=10, $subject_len=40, $cache_time=1, $options='')
{
global $g5;
if (!$skin_dir) $skin_dir = 'basic';
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
if (G5_IS_MOBILE) {
$latest_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
if(!is_dir($latest_skin_path))
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
} else {
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
}
$skin_dir = $match[1];
} else {
if(G5_IS_MOBILE) {
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
} else {
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
}
}
$list = array();
$sql_common = " from {$g5['board_new_table']} a where find_in_set(a.bo_table, '{$bo_tables}')";
$sql_common .= " and a.wr_id = a.wr_parent ";
$sql_order = " order by a.bn_id desc ";
$sql = " select a.* {$sql_common} {$sql_order} limit 0, {$rows}";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
$sql = " select * from {$g5['board_table']} where bo_table = '{$row['bo_table']}' ";
$board = sql_fetch($sql);
$tmp_write_table = $g5['write_prefix'] . $row['bo_table'];
$row2 = sql_fetch(" select * from {$tmp_write_table} where wr_id = '{$row['wr_id']}' ");
$list[$i] = $row2;
$list[$i] = get_list($row2, $board, $latest_skin_url, $subject_len);
$list[$i]['bo_subject'] = $row['bo_subject'];
$list[$i]['bo_table'] = $row['bo_table'];
}
ob_start();
include $latest_skin_path.'/latest.skin.php';
$content = ob_get_contents();
ob_end_clean();
return $content;
}
?>
답변 4
어떻게 해서 출력이 안되는지 설명이 없으니 알 수 없지만
여분필드 출력은 echo $list[0]['wr_1']; echo $list[0]['wr_2']; 와 같은 모양으로 출력 됩니다
for문 내에서는 echo $list[$i]['wr_1'];
설마 위와 같은 출력 방법 자체를 모르고 하는 질문인가요?
저렇게 해서 안된다면 캐시 화일을 삭제하세요
일단 소스를 봤을댄 특별히 안나올 이유는 없어보이는데 print_r2($row2) 등으로 $row2 가지고 오고 나서 값이 제대로 들어가있는지 확인해보세요.
wr_N관련 컬럼을
latest.skin.php에서 어떻게 쓰셨나요?
엑스엠엘님, 블랙캣77님, 균이님 답변 감사합니다.