wr_id 값을 지정하여 여러 게시물을 최신글로 불러오려면?

wr_id 값을 지정하여 여러 게시물을 최신글로 불러오려면?

QA

wr_id 값을 지정하여 여러 게시물을 최신글로 불러오려면?

답변 1

본문

안녕하세요.:)
 
아래는 latest.lib의 sql 부분입니다.
특정 wr_id를 latest로 불러오는데요.
아래처럼 하면, 게시물 1개만 불러올 수 밖에 없는데요.
wr_id 값을 여러개 넣어서, 이것을 여러 게시물을 불러오게 하려면 어떻게 해야 될까요?
 
$sql = " select * from $tmp_write_table where wr_id = '$wr_id' and wr_is_comment = 0 order by wr_num limit 0, $rows ";

이 질문에 댓글 쓰기 :

답변 1


wr_id in ('wr_id1', 'wr_id2', 'wr_id3')

root 님 답변 감사 드립니다.
전체코드가 아래처럼 되고,
$now 에 여러개의 wr_id 값이 들어가서 작동해야 되는데, 어떻게 수정해야 될까요?
도움 부탁 드려요.ㅜ

<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest_paging_today($skin_dir="", $bo_table, $url, $now="", $page=1, $page_name="page", $rows=2, $subject_len=40, $write_page= '', $total_count = '', $options="")
{
global $g4, $config;

if ($skin_dir)
$GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/$skin_dir";
else
$GLOBALS['latest_skin_path'] = $latest_skin_path = "{$g4['path']}/skin/latest/basic";

$list = array();
$sql_search = "";

$sql = " select * from {$g4['board_table']} where bo_table = '$bo_table'";
$board = sql_fetch($sql);

$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름

if($total_count == "")
{
$sql = sql_fetch(" select count(*) as cnt, MIN(wr_num) as n_num, MAX(wr_num) as m_num from $tmp_write_table where wr_id = '$now' and wr_is_comment = 0 $sql_search order by wr_num");
$total_count = $sql[cnt];
$min_number = $sql[n_num];
$max_number = $sql[m_num];
} else  {
$sql = sql_fetch(" select count(*) as cnt, MIN(wr_num) as n_num from $tmp_write_table where wr_id = '$now' and wr_is_comment = 0 $sql_search order by wr_num limit 0, $total_count");
$min_number = $sql[n_num];
$max_number = $sql[n_num] + $total_count;
}

$total_page  = ceil($total_count / $rows);  // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함

// 게시물 구해오기


$sql = " select * from $tmp_write_table where wr_id = '$now' and wr_is_comment = 0 $sql_search AND (wr_num between '".$min_number."' and '".$max_number."') order by wr_num limit $from_record, $rows ";


//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);
}

if(strstr($url, "?")) {
$connect = "&amp;";
} else {
$connect = "?";
}

  $url = preg_replace('/&page=\d+/','',$url);
$write_pages = get_paging($write_page, $page, $total_page, $url.$connect.$page_name."=");

ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();

return $content;
}
?>

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 10,637
© SIRSOFT
현재 페이지 제일 처음으로