유용한 팁 공유 게시판
제로보드에 관한 팁이나 강의를 소개하는 게시판입니다.
팁공유라고 해서 아주 특별하거나 기발한거 아니어도 됩니다.
자신이 제로보드를 사용하면서 생긴 자신만의 노하우나 아주 사소한 팁이어도 좋습니다.
자신에겐 아무것도 아니더라도 다른분들께는 분명 중요하고 소중한 팁이 될수 있을겁니다.
팁공유라고 해서 아주 특별하거나 기발한거 아니어도 됩니다.
자신이 제로보드를 사용하면서 생긴 자신만의 노하우나 아주 사소한 팁이어도 좋습니다.
자신에겐 아무것도 아니더라도 다른분들께는 분명 중요하고 소중한 팁이 될수 있을겁니다.
글수 4,496
아래 내용은 전에 있던 소스를 다시수정 하여 최근덧글을 출력하고 마우스가 올려지면 색상이 반전되게 하였습니다.
php를 거의 모르는 상태에서 수정한거라 더 깔끔한 방법이 있을 수도 있습니다.
현제 제 홈페이지 첫화면에 적용되어있는 만큼 출력은 정상적으로 됩니다.
색상은 본인의 게시판에 맞게 수정해도 됩니다. 아래의 소스를 php로 저장한뒤 원하는 부분에서 include 시키면됩니다.
최초 소스의 작성자는 배상봉님의 것임을 밝힘니다.
최근덧글 뉴스티커처럼 흐르게 하기 : http://www.zeroboard.com/?mid=zb4_tip&search_target=user_id&search_keyword=gegoori&document_srl=854038
==============================================================================================================================================
<?
$_zb_url = "http://계정/bbs/";
$_zb_path = "/home/계정/bbs/"; // 계정에 따라 조금씩 다름.
include $_zb_path."outlogin.php";// 여기까지 본인에 맞는것으로 수정
//////////////////////////////////////////////////
// Program Start
///////////////////////////////////////////////////
// Function Recent Comment Y년m월d일 h시i분am(orpm) 형식을 '/'로 바꿈
function recent_cmt($num=10, $textlen=20, $datetype="Y/m/d h:ia") {
// 위의 시간 끝부분 'a'를 뺴면 12시간 단위가 됨
global $_zb_url, $connect, $t_board, $t_comment, $mb_id, $mb_conf;
// get and set variable
$id = $mb_id; // get IDs
$cutTimeMode = $mb_conf[timemode]; // get time mode
$tc = 0; //Total Counts
// timeMode (1: in 24 hours; 2: today;)
if($cutTimeMode == 1){
$cut_time = time() - 3600 * 24; // 24hours
}else if($cutTimeMode == 2){
$cut_time = mktime(0,0,0,date("m"),date("d"),date("Y")); // today
}else{ $cut_time = 0; // normal
}
// get values from database
for( $i = 0; $i < sizeof($id); $i++){
// get memo data
$query = "select * from ".$t_comment."_".$id[$i]." where reg_date >
$cut_time order by no desc limit $num";
$result = mysql_query($query, $connect) or die(mysql_error());
while($data=mysql_fetch_array($result)){
// memo data
$cmt[$tc][no] = $data[no];
$cmt[$tc][name] = stripslashes($data[name]);
$cmt[$tc][parent] = $data[parent];
$cmt[$tc][date] = date($datetype, $data[reg_date]);
$cmt[$tc][reg_date] = $data[reg_date];
$cmt[$tc][memo] = cut_str(stripslashes($data[memo]), $textlen);
// get parent data
$p_data = mysql_fetch_array(mysql_query("select * from $t_board"."_$id[$i]
where no='$data[parent]'"));
$cmt[$tc][p_subject] = stripslashes($p_data[subject]);
$cmt[$tc][p_name] = stripslashes($p_data[name]);
$cmt[$tc][p_date] = date($datetype, $p_data[reg_date]);
$cmt[$tc][p_target] = $_zb_url."view.php?id=".$id[$i]."&no=".$p_data[no];
// ready for sorting
$tm[$tc] = $data[reg_date]."_$tc";
$map[$data[reg_date]."_$tc"] = $tc;
$tc++;
}
}
// sort by time
if($tc)
sort($tm);
// output
$tmp1 = time() - 3600 * 12;
$tmp2 = time() - 3600 * 24;
for($i = sizeof($tm)-1; $i >= sizeof($tm)-$num && $i >= 0; $i--){
$n = $map[$tm[$i]];
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0"><tr><td bgcolor="#666666" onmouseout="this.style.backgroundColor=''" onmouseover="this.style.backgroundColor='#555555'">
<?
if($cmt[$n][reg_date] > $tmp1){
$tmpcolor = "white";
}else if($cmt[$n][reg_date] > $tmp2){
$tmpcolor = "black";
}else{
$tmpcolor = "#999999";
}
//아래의 body문에 있는 table다음에 보여질 최근 코멘트 내용 불러오는 부분=================
print "<font title="".$cmt[$n][memo]."" color=$tmpcolor> ▶</font>";
print "<font size=2><a href=".$cmt[$n][p_target]." title='글쓴이: ".$cmt[$n][p_name].
" 글쓴날: ".$cmt[$n][p_date]."'>";
print $cmt[$n][memo]."</a> "; // [p_subject]를 [memo]로 수정함
print $cmt[$n][name]." ".$cmt[$n][date]." ";
print "</font><br>";
//여기까지 (수정 가능함)==================================================================
?>
</td></tr></table>
<?
}
}
?>
<html>
<head><title>Recent Comments</title></head>
<body leftmargin="0" marginwidth="0" topmargin="0" marginheight="0">
<font size="2">
<?
$mb_id = array("게시판1", "게시판2", ~~~~~);//본인의 게시판이름 나열
recent_cmt(10,30);// 앞의 10은 덧글 개수 뒤의 30는 덧글의 길이지정
?>
</font>
</body>
</html>
2008.04.07 11:35:06 (*.175.144.206)
Parse error: syntax error, unexpected '"' in /home2/yakpai/www/v1/page/_tm_new_comment.php on line 83
2008.04.11 09:30:22 (*.114.49.217)
에러가 나시는 분이 있었네요... 암튼 죄송합니다...ㅠㅠ 조민님이 수정하신걸 보니 큰따옴표를 작은따옴표로 바꿔야 하는 모양이네요
2008.05.14 01:47:08 (*.107.162.241)
print보다 echo가 빠릅니다. 소스가 echo로 수정되었으면 좋겠네요 .
그리고 print ""; 속에 ""가 또 들어가면 에러가 날수밖에 없습니다. \" 로 문자열로 인식하도록 해주시거나
' ' 로 변경해주셨으면 좋겠습니다.
//아래의 body문에 있는 table다음에 보여질 최근 코멘트 내용 불러오는 부분=================
echo "<font ".$cmt[$n][memo]." color=$tmpcolor> ▶</font>
<font size=2><a href=".$cmt[$n][p_target]." title='글쓴이: ".$cmt[$n][p_name].
" 글쓴날: ".$cmt[$n][p_date]."'>".$cmt[$n][memo]."</a>".$cmt[$n][name]." ".$cmt[$n][date]." ";
echo "</font><br>";
//여기까지 (수정 가능함)==================================================================
이렇게 수정하시면 약 4배의 속도차이를 (벤치마킹상) 보실수 있으며
아래 $mb_id array( ... 에서 ,~~~~ 이부분 삭제해주세요 (초보자분들은 저부분이 무슨의미인지 몰라서 냅두는경우가 있음)
그리고 print ""; 속에 ""가 또 들어가면 에러가 날수밖에 없습니다. \" 로 문자열로 인식하도록 해주시거나
' ' 로 변경해주셨으면 좋겠습니다.
//아래의 body문에 있는 table다음에 보여질 최근 코멘트 내용 불러오는 부분=================
echo "<font ".$cmt[$n][memo]." color=$tmpcolor> ▶</font>
<font size=2><a href=".$cmt[$n][p_target]." title='글쓴이: ".$cmt[$n][p_name].
" 글쓴날: ".$cmt[$n][p_date]."'>".$cmt[$n][memo]."</a>".$cmt[$n][name]." ".$cmt[$n][date]." ";
echo "</font><br>";
//여기까지 (수정 가능함)==================================================================
이렇게 수정하시면 약 4배의 속도차이를 (벤치마킹상) 보실수 있으며
아래 $mb_id array( ... 에서 ,~~~~ 이부분 삭제해주세요 (초보자분들은 저부분이 무슨의미인지 몰라서 냅두는경우가 있음)


