최신글 메인에 불러오기

1.jpg
오류가 나는곳의 주소를 알려주시면 더 빠르고 정확하게 답변 받을 수 있습니다.

오류 주소 :

===== index.php 부분 =========================================

<!-- 메인화면 최신글 시작 -->
<table width="95%" cellpadding=0 cellspacing=0><tr><td valign=top>
<?
// 최신글
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.

// 사용방법
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("basic",$row['bo_table'], 4, 70);
echo "<p>\n";

}
?>
</td></tr></table>
<!-- 메인화면 최신글 끝 -->





===== lib/latest.lib.php ===========================================

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

// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len=40, $options="")
{
global $g4;

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

$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; // 게시판 테이블 전체이름
//$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
// 위의 코드 보다 속도가 빠름
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num limit 0, $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);

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

return $content;
}
?>





table 개념은 알고요.....
어느 부분을 수정해야 하는지
.
부탁드립니다.

첨부파일

1.jpg (89 KB)
0회 2008-04-25 16:35
|

댓글 7개

echo latest("basic",$row['bo_table'], 4, 70);

요거 대신에

switch( $row['bo_table']) {

case 'abc': echo latest("abc_skin",$row['bo_table'], 4, 70); break;
case 'bbc': echo latest("bbc_skin",$row['bo_table'], 4, 70); break;
case 'ddd': echo latest("ddd_skin",$row['bo_table'], 4, 70); break;

default: case 'abc': echo latest("basic",$row['bo_table'], 4, 70); break;

}
엑스엠엘님~~~~

짱 ~~~~~~~~~~~~~ 감사드려요....

복 만땅 받으세요......
http://kikiki671220.cafe24.com/data/file/photo/3537818856_064223c1_2.jpg



하나만더 부탁해도 될까요?

(닉네임과 날짜) 출력은 어떻게 하나요?
skin/latest/basic/latest.skin.php에 보면

echo " " . $list[$i]['icon_hot'];

이런 것들이 있는데

$list[ $i]['wr_datetime'] 변수 쓰시면 되고

별명을 회원 테이블과 조인을 해야 하는데


lib/latest.lib.php 에서 보면
//$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, $rows ";
// 위의 코드 보다 속도가 빠름
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_num limit 0, $rows ";


여기 $sql을

$sql = " select B.*, M.mb_nick from $tmp_write_table B left join $g4['member_table'] M on B.wr_id=M.wr_id where wr_is_comment = 0 order by wr_num limit 0, $rows ";

바꾸고

skin/latest/basic/latest.skin.php
에서

$list[ $i]['mb_nick'] 추가하세요.
여기 $sql을

$sql = " select B.*, M.mb_nick from $tmp_write_table B left join $g4['member_table'] M on B.wr_id=M.wr_id where wr_is_comment = 0 order by wr_num limit 0, $rows ";


(닉네임과 날짜) 출력에서
해보니
부분인 안됩니다. 활용하시는 분들 참고하세요
$sql = " select B.*, M.mb_nick from $tmp_write_table B left join $g4['member_table'] M


on B.wr_id=M.wr_id 요기를 on B.mb_id=M.mb_id로 바꾸세요.


where wr_is_comment = 0 order by wr_num limit 0, $rows ";
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
17년 전 조회 1,435
17년 전 조회 1,428
17년 전 조회 1,548
17년 전 조회 1,026
17년 전 조회 976
17년 전 조회 830
17년 전 조회 943
17년 전 조회 959
17년 전 조회 937
17년 전 조회 1,513
17년 전 조회 1,008
17년 전 조회 931
17년 전 조회 1,780
17년 전 조회 1,512
17년 전 조회 1,564
17년 전 조회 1,004
17년 전 조회 1,510
17년 전 조회 953
17년 전 조회 1,509
17년 전 조회 980
🐛 버그신고