달력숫자 눌렀을 때 링크 질문 (올인) 정보
달력숫자 눌렀을 때 링크 질문 (올인)본문
안녕하세요.
10여일 전에 그누보드를 처음 접하고
미친듯이 홈페이지에 적용해서 드디어 홈페이지를 완성한 완전 초짜 입니다.
이곳의 여러분께서 질문에 답해주셔서 여기까지 왔습니다.
다시 한 번 너무너무 감사드립니다.
현재 웨인님의 달력스킨을 사용하구 있는대요,
저는 그것을 마치 싸이월드의 일기장처럼 활용하려고 하는데...
그게 제 실력으로는 여의치 않아서 이렇게 질문을 드립니다.
위의 그림을 보면 현재 상태가 1번과 같은 상태입니다.
날짜를 클릭하면 해당일의 게시물 리스트가 출력되는 형태입니다.
제가 원하는 것은 2번 그림,
그러니까 날짜를 클릭하면 바로 그 날짜의 게시글이 뜨는 것입니다.
클릭한 날짜에 등록한 게시글을 출력하는 것인데 그게 정말
아무리 들이대도 제 실력으로는 부족한 것 같아서 이렇게 고수님의
조언을 구합니다. -_ -a
방법을 생각해 보았는데
1. 시간접근
달력 날짜와 같은 날에 등록한 글을 보여줘도 될 것 같구요.
(하루에 하나 이상은 등록하지 않을 예정이니까요.)
2. wr_id값 호출
숫자와 연결된 게시물의 wr_id값을 정확히 호출해서 부르는 방법
등이 있을 것 같습니다.
어떤 형태로 구현되도 상관없구요.(돌아만 가면 됩니다. ^^)
그리고 마지막으로 달력에서 해당 날짜에 게시글이 없는 경우
클릭 자체가 안되게 하는 방법은 없는지요?
(예를 들어 21일에 글을 등록하지 않았다면
21에 마우스를 갖다대어도 커서가 화살표에서 손가락으로 안변하게 말입니다.)
이 기능이 필요한 이유는
만약에 제가 원하는 방향으로 수정이 됐다고 가정하면
글이 없을 경우 클릭시
게시판 목록을 보여주는 게 아니고 내용을 보여주는 것이기 때문에
'게시글을 찾을 수 없습니다.' 라는 창이 뜰 것이기 때문입니다.
제가 현재 가진 포인트 모두 겁니다.
그래봤자 많지 않아서 부끄러울 뿐입니다.
아무것도 아닌 것 같지만 머리를 쥐어 뜯으며 고민중입니다.
이 두개만 해결되면 정말 당분간은 소원이 없겠네요. -_ -a
고수님의 친절한 설명 부탁드립니다.
(미리) 도움주셔서 감사드립니다. (__)
-----------------------------원본코드-------------------------------
<?
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$charge_date=$yyyy."-".$mm;
$today_sql="select * from g4_board_new where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m')='$charge_date' and wr_id = wr_parent";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($arry_name[$day2]){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$charge_date=$yyyy."-".$mm;
$today_sql="select * from g4_board_new where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m')='$charge_date' and wr_id = wr_parent";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($arry_name[$day2]){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
-------------------------------- 끝 ------------------------------------
댓글 전체
글번호를 가져오는것은 어렵지 않습니다[wr_id] 하지만 우선은 한개의 개시물또는 여러개의 게시물이 올수 있다는 생각이 드는군요. 리스트에서 해당 조건적으로 검색이 wr_datetime의 1번째 자리부터 10번째 자리까지 비교하여 해당 일자에 게시글을 리스트에서 컬럼 보는 것과 같이 게시글이 나오는 형태로 구상하시면 될듯합니다.
즉 list에서 해당일을 조건 검색후[주소를 자세히 보시면 해당 연도월일의 정보가 있을것입니다.] 그누 기본 검색을 활용 common.lib.php에서 wr_datetime 10번째 자리까지 wr_datetime like $wr_datetime% 이런식으로 디비 검색을 추가 하시면 됩니다. 또한 리스트에서는 모든 게시글이 보이도록 스킨을 변경하시구요.
즉 list에서 해당일을 조건 검색후[주소를 자세히 보시면 해당 연도월일의 정보가 있을것입니다.] 그누 기본 검색을 활용 common.lib.php에서 wr_datetime 10번째 자리까지 wr_datetime like $wr_datetime% 이런식으로 디비 검색을 추가 하시면 됩니다. 또한 리스트에서는 모든 게시글이 보이도록 스킨을 변경하시구요.
먼저 답변 감사드립니다.
제가 초보인지라 개미인간님 말씀을 어떻게 적용할지를 모르겠습니다. ㅠㅠ
그래서 질문을 더 여쭤볼게요.
현재 날짜를 클릭했을 경우 태그는 onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
이겁니다.
이럴 경우 오늘인 경우 2007-01-17일의 데이타를 검색해서 글이 없으면
'게시글이 없다'고 출력되고
글이 있을 경우 해당 글의 제목이 출력됩니다.
제가 원하는 것은 달력에서 오늘 날짜를 클릭했을 경우
2007-01-17일의 데이타 검색후,
제목을 출력하는 것이 아니고 해당글을 바로 열어서 보여주는 것입니다.
이 경우 위의 태그를 단순하게 변경해서 구현하는 것은 불가능 한가요?
정말 이것 때문에 돌겠네요. -_ -a
제가 초보인지라 개미인간님 말씀을 어떻게 적용할지를 모르겠습니다. ㅠㅠ
그래서 질문을 더 여쭤볼게요.
현재 날짜를 클릭했을 경우 태그는 onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
이겁니다.
이럴 경우 오늘인 경우 2007-01-17일의 데이타를 검색해서 글이 없으면
'게시글이 없다'고 출력되고
글이 있을 경우 해당 글의 제목이 출력됩니다.
제가 원하는 것은 달력에서 오늘 날짜를 클릭했을 경우
2007-01-17일의 데이타 검색후,
제목을 출력하는 것이 아니고 해당글을 바로 열어서 보여주는 것입니다.
이 경우 위의 태그를 단순하게 변경해서 구현하는 것은 불가능 한가요?
정말 이것 때문에 돌겠네요. -_ -a
>>2007-01-17일의 데이타 검색후,
>>제목을 출력하는 것이 아니고 해당글을 바로 열어서 보여주는 것입니다.
>>이 경우 위의 태그를 단순하게 변경해서 구현하는 것은 불가능 한가요?
검색결과가 정확하다고 하더라도 ,
2007-01-17일에 올라온 글이 여러게시판에 여러개일경우 어느 게시판의 글을 찾아가야 할까요? $%@$#
아니면, 특정게시판과 연동하여 동작한다고 하더라도 같은날 올라온 글이 여러개일경우,
어떤 글을 찾아가야 할까요?
검색결과를 보여주는 페이지로 연결되어야하지 않을까요?
>>제목을 출력하는 것이 아니고 해당글을 바로 열어서 보여주는 것입니다.
>>이 경우 위의 태그를 단순하게 변경해서 구현하는 것은 불가능 한가요?
검색결과가 정확하다고 하더라도 ,
2007-01-17일에 올라온 글이 여러게시판에 여러개일경우 어느 게시판의 글을 찾아가야 할까요? $%@$#
아니면, 특정게시판과 연동하여 동작한다고 하더라도 같은날 올라온 글이 여러개일경우,
어떤 글을 찾아가야 할까요?
검색결과를 보여주는 페이지로 연결되어야하지 않을까요?
포토플라이님 답변 감사합니다. ^- ^
제가 사진으로 먹고 사는 사람이라 아이디가 닉넴이 눈에 확~ 들어오네요. ^^
지금 달력과 연동시킨 보드는 이름이 calendar 입니다.
달력에서 날짜를 클릭했을 경우 calendar 보드의 해당일 게시글이 출력되면 되는건데...
이게 불가능 할까요? 게시글이 없을 경우 게시글이 없다고 뜨면 되구요.
(사실 글을 안쓴 날은 클릭이 아예 안되면 최고겠지만요, 그건 넘 어려울듯. ㅠㅠ)
게시글이 있을 경우 해당 게시글을 출력해주면 됩니다.
달력의 경우 하루에 하나 이상은 글을 올리지 않을 예정이라서
두개이상 등록해서 문제가 될 경우는 없을거예요.
해결해주시면 정말 감사하겠습니다! ^- ^
제가 사진으로 먹고 사는 사람이라 아이디가 닉넴이 눈에 확~ 들어오네요. ^^
지금 달력과 연동시킨 보드는 이름이 calendar 입니다.
달력에서 날짜를 클릭했을 경우 calendar 보드의 해당일 게시글이 출력되면 되는건데...
이게 불가능 할까요? 게시글이 없을 경우 게시글이 없다고 뜨면 되구요.
(사실 글을 안쓴 날은 클릭이 아예 안되면 최고겠지만요, 그건 넘 어려울듯. ㅠㅠ)
게시글이 있을 경우 해당 게시글을 출력해주면 됩니다.
달력의 경우 하루에 하나 이상은 글을 올리지 않을 예정이라서
두개이상 등록해서 문제가 될 경우는 없을거예요.
해결해주시면 정말 감사하겠습니다! ^- ^
원하시는 답변을 못드려서 죄송합니다..
wr_id 로 불러오는것은 되는데, wr_datetime 으로 불러오는것은 안되는군요...
공부를 더 해야겠군요...^^
wr_id 로 불러오는것은 되는데, wr_datetime 으로 불러오는것은 안되는군요...
공부를 더 해야겠군요...^^
아래 링크의 스킨을 참조해 보세요...
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=32763&sca=%B4%DE%B7%C2
설명 및 해당 링크까지 확인 요함.
http://www.sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=32763&sca=%B4%DE%B7%C2
설명 및 해당 링크까지 확인 요함.
그것도 해당날짜에 올라온 글을 검색해서 리스트로 보여주는것이고,
해당날짜의 글을 바로 보여주지는 못하는군요....^^
하루에 한개의 글만 올라온다고 가정을하고,
그글을 view 페이지에서 바로 보여줄수있는 방법은 없는걸까요?
해당날짜의 글을 바로 보여주지는 못하는군요....^^
하루에 한개의 글만 올라온다고 가정을하고,
그글을 view 페이지에서 바로 보여줄수있는 방법은 없는걸까요?
<?
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$chk_dd = $day +1;
$dd = substr("0".$chk_dd,-2);
$charge_date=$yyyy."-".$mm."-".$dd;
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
if($row) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]&wr_id=$row[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($arry_name[$day2]){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'><img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$chk_dd = $day +1;
$dd = substr("0".$chk_dd,-2);
$charge_date=$yyyy."-".$mm."-".$dd;
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
if($row) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row[bo_table]&wr_id=$row[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($arry_name[$day2]){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($arry_name[$day2]){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
아래 링크한 달력스킨의 소스를 참고하셔서 접목하시면 가능할것 같습니다...
단, 사용하시려는 스킨도 글 작성일자가 wr_link1필드에도 동시에 입력되도록 수정해야 합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=26398
단, 사용하시려는 스킨도 글 작성일자가 wr_link1필드에도 동시에 입력되도록 수정해야 합니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_skin&wr_id=26398
죄송혀유..... 다시 올려유....
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
<?
//if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 글자 색상
$weekday_color = "#000000"; // 평일
$saturday_color = "#000000"; // 토요일
$sunday_color = "#FF3300"; // 일요일 (공휴일)
// 배경 색상
$title_bgcolor = "#F6F6F6";
$today_bgcolor = "yellow"; // 오늘
$select_bgcolor = "#BAFFF6"; // 선택일
// 요일
$yoil = array ("일", "월", "화", "수", "목", "금", "토");
// mktime() 함수는 1970 ~ 2038년까지만 계산되므로 사용하지 않음
// 참고 : http://phpschool.com/bbs2/inc_view.html?id=3924&code=tnt2&start=0&mode=search&s_que=mktime&field=title&operator=and&period=all
function spacer($year, $month)
{
$day = 1;
$spacer = array(0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4);
$year = $year - ($month < 3);
$result = ($year + (int) ($year/4) - (int) ($year/100) + (int) ($year/400) + $spacer[$month-1] + $day) % 7;
return $result;
}
$yyyy = $_REQUEST[yyyy];
$mm = $_REQUEST[mm];
// 오늘
$today = getdate($g4[server_time]);
$mon = substr("0".$today[mon],-2);
$mday = substr("0".$today[mday],-2);
if (!$yyyy) $yyyy = $today['year'];
if (!$mm) $mm = $today['mon'];
$yyyy = (int)$yyyy;
$mm = (int)$mm;
$f = @file("$g4[path]/bbs/calendar/$yyyy.txt");
if ($f) {
while ($line = each($f)) {
$tmp = explode("|", $line[value]);
$nal[$tmp[0]] = $tmp;
//print_r2($nal);
}
}
$spacer = spacer($yyyy, $mm);
$endday = array(1=>31, 28, 31, 30 , 31, 30, 31, 31, 30 ,31 ,30, 31);
// 윤년 계산 부분이다. 4년에 한번꼴로 2월이 28일이 아닌 29일이 있다.
if( $yyyy%4 == 0 && $yyyy%100 != 0 || $yyyy%400 == 0 )
$endday[2] = 29; // 조건에 적합할 경우 28을 29로 변경
// 해당월의 1일
$mktime = mktime(0,0,0,$mm,1,$yyyy);
$dt = getdate(strtotime(date("Y-m-1", $mktime)));
$dt[wday] = $spacer;
// 해당월의 마지막 날짜,
//$last_day = date("t", $mktime);
$last_day = $endday[$mm];
$yyyy_before = $yyyy;
$mm_before = $mm - 1;
if ($mm_before < 1)
{
$yyyy_before--;
$mm_before = 12;
}
$yyyy_after = $yyyy;
$mm_after = $mm + 1;
if ($mm_after > 12)
{
$yyyy_after++;
$mm_after = 1;
}
$yyyy_before_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy-1)."&mm={$mm}";
$yyyy_after_href = "$_SERVER[PHP_SELF]?yyyy=".($yyyy+1)."&mm={$mm}";
$mm_after_href = "$_SERVER[PHP_SELF]?yyyy={$yyyy_after}&mm={$mm_after}";
$mm_before_href = "$_SERVER[PHP_SELF]?&yyyy={$yyyy_before}&mm={$mm_before}";
?>
<!-- Line top start -->
<table width="170" cellpadding="0" cellspacing="0" border="0" align="center">
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco01.gif" width="7""></td>
<td background="<?=$latest_skin_path?>/img/out_bbg01.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco02.gif" width="6"></td>
</tr>
<tr>
<td background="<?=$latest_skin_path?>/img/out_bbg02.gif"></td>
<td>
<!-- Line top end -->
<!-- Title start -->
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr height="28">
<td align="center" height="20"><a href="<?=$g4['path']?>/bbs/board.php?bo_table=<?=$bo_table?>" onfocus=this.blur()><img src="<?=$latest_skin_path?>/img/title.jpg" border="0"></a></td>
<td><a href='<?=$mm_before_href?>'>222<img src="<?=$latest_skin_path?>/img/icon_prev01.gif" width="8" height="9" border="0" align="absmiddle"></a><b><font style='font-family:돋움; font-size:8pt; color:#FB6900;'> <?=$yyyy?>/<?=$mm?></font></b>
<a href='<?=$mm_after_href?>'><img src="<?=$latest_skin_path?>/img/icon_next01.gif" width="8" height="9" border="0" align="absmiddle"></a>
</td>
</tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td height="1" bgcolor="#E9E9E9"></td></tr>
<tr><td height="5"></td></tr>
</table>
<!-- Title end -->
<table width="158" cellpadding="0" cellspacing="0" border="0" align="center" >
<tr>
<td valign="top">
<table width=100% cellpadding=0 cellspacing=1 border=0 bgcolor="#E9E9E9">
<tr height="15" bgcolor="<?=$title_bgcolor?>" align="center">
<td width=14% style="color:<?=$sunday_color?>"><img src="<?=$latest_skin_path?>/img/sun.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/mon.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/tue.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/wed.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/thu.jpg"></td>
<td width=14% style="color:<?=$weekday_color?>"><img src="<?=$latest_skin_path?>/img/fri.jpg"></td>
<td width=14% style="color:<?=$saturday_color?>"><img src="<?=$latest_skin_path?>/img/sat.jpg"></td>
</tr>
<?
$cnt = $day = 0;
// 해당일에 글이 올라와 있는지 확인
$today_sql="select * from $g4[board_new_table] where bo_table='$bo_table' and date_format(bn_datetime,'%Y-%m-%d')='$charge_date' and wr_id = wr_parent order by bn_id desc limit 0,1 ";
$result=sql_query($today_sql);
// 포문 돌면서 해당일자 배열에 저장
for ($d=0; $row=sql_fetch_array($result); $d++){
$arry_day=substr($row['bn_datetime'],8,2);
$arry_name[$arry_day]=substr($row['bn_datetime'],0,10);
}
for ($i=0; $i<6; $i++)
{
echo "<tr>";
for ($k=0; $k<7; $k++)
{
$cnt++;
echo "<td style='background:#FFFFFF;' align=center>";
if ($cnt > $dt[wday])
{
$day++;
if ($day <= $last_day)
{
// 1같은경우 01로 변경
$mm2 = substr("0".$mm,-2);
$day2 = substr("0".$day,-2);
$chk_day = $yyyy."-".$mm2."-".$day2;
$sql_common = " from $g4[board_new_table] where bo_table='$bo_table' ";
$sql_common .= " and wr_id = wr_parent and date_format(bn_datetime,'%Y-%m-%d') = '$chk_day' ";
$sql_order = " order by bn_id desc limit 0,1 ";
$sql2 = " select * $sql_common
$sql_order ";
$result2 = sql_query($sql2);
$row2 = @mysql_fetch_array($result2);
if($row2) {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$row2[bo_table]&wr_id=$row2[wr_id]'\">";
} else {
echo "<table width=100% height=100% cellpadding=0 cellspacing=0><tr><td style='padding:1px;font-size:8pt;' id='id$i$k' align=center style='cursor:hand;' onclick=\"javascript:location.href='$g4[path]/bbs/board.php?bo_table=$bo_table&issu_date=$yyyy-$mm2-$day2'\">";
}
// 배열의 값이 있는지 비교하여 글자색 변경
if ($row2){
echo "<font color=#0069D2><b>";
}
echo $day;
if ($row2){
echo "</b></font>";
}
echo "</td></tr></table>";
if ($k==0)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
else if ($k==6)
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$saturday_color';</script>";
else
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$weekday_color';</script>";
$tmp_date = $yyyy.substr("0".$mm,-2).substr("0".$day,-2);
$tmp = $mm2."-".$day2;
if ($nal[$tmp])
{
$title = trim($nal[$tmp][1]);
//echo $title;
echo "<script language='JavaScript'>document.getElementById('id$i$k').title='{$title}';</script>";
if (trim($nal[$tmp][2]) == "*")
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.color='$sunday_color';</script>";
}
// 오늘이라면
if ($today[year] == $yyyy && $today[mon] == $mm && $today[mday] == $day)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$today_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[오늘]';</script>";
}
// 선택일(넘어온 값) 이라면
else if ($tmp_date == $cur_date)
{
echo "<script language='JavaScript'>document.getElementById('id$i$k').style.backgroundColor='$select_bgcolor';</script>";
echo "<script language='JavaScript'>document.getElementById('id$i$k').title+='[선택일]';</script>";
}
} else
echo " ";
} else
echo " ";
echo "</td>";
}
echo "</tr>\n";
if ($day >= $last_day)
break;
}
?>
</table>
</td>
</tr>
<tr><td height="5"></td></tr>
</table>
<!-- Line bottom start -->
</td>
<td background="<?=$latest_skin_path?>/img/out_bbg03.gif"></td>
</tr>
<tr>
<td><img src="<?=$latest_skin_path?>/img/out_bco03.gif" width="7" height="6"></td>
<td background="<?=$latest_skin_path?>/img/out_bbg04.gif"></td>
<td><img src="<?=$latest_skin_path?>/img/out_bco04.gif" width="6" height="6"></td>
</tr>
</table>
<!-- Line bottom end -->
천상재회님.
한개의 게시판이 아닌 여러개의 게시판 또는 해당 그룹에서 해당일에 작성된 글을 가지고 올순 없나요
한개의 게시판이 아닌 여러개의 게시판 또는 해당 그룹에서 해당일에 작성된 글을 가지고 올순 없나요
천상재회님 감사합니다.
제가 원하는 대로 됐습니다.
너무너무*100 감사드립니다.
(__)
제가 원하는 대로 됐습니다.
너무너무*100 감사드립니다.
(__)