일정관리 미니달력 최신글 관련 질문드리겠습니다.
관련링크
본문
안녕하세요
http://sir.kr/g5_skin/9849?sfl=wr_subject%7C%7Cwr_content&stx=%EC%9D%BC%EC%A0%95
위에 주소에도 댓글에 질문을 남기긴 했는데요,
달력에서 날짜를 누르면 해당 날짜에 등록된 글이
새창으로 열리는 방식말고 바로 해당 글의 뷰페이지로 넘기고 싶습니다.
그래서 나름 링크 걸리는 부분 소스를 고쳐봤는데요,
<a href=\"javascript:popup_window('".$latest_skin_url."/pop_schedule.php?bo_table=".$bo_table."&year=".$year."&month=".$month."&day=".$cday."&latest_dir=".$latest_dir."', 'schedule', 'left=50, top=50, width=312, height=400, scrollbars=1');\" class=\"writeday\">
이 부분을
<a href='".G5_BBS_URL."/board.php?bo_table=".$bo_table."&year=".$year."&month=".$month."&wr_id=".$row['wr_id']."'>
이렇게 바꿔도 $row['wr_id'] 요게 나오지 않아서 그런건지 해당 글로 안 넘어가지더라구요
어떻게 하면 새창으로 안띄우고 뷰페이지로 바로 넘길 수 있을까요? ㅜㅜ
조언 좀 부탁드립니다.
아래 소스는 기본 소스입니다.
<?php
$cday = 1;
$sel_mon[i] = sprintf("%02d",$month);
$query = "select * from ".$g5['write_prefix'].$bo_table." where left(wr_1,6) <= '".$year.$sel_mon[i]."' and left(wr_2,6) >= '".$year.$sel_mon[i]."' order by wr_id asc";
//echo $query;
$result = sql_query($query);
$j=0; // layer id
// 내용을 보여주는 부분
while ($row = sql_fetch_array($result)) { // 제목글 뽑아서 링크 문자열 만들기..
if( substr($row[wr_1],0,6) < $year.$sel_mon[i] ) {
$start_day[i] =1;
$start_day[i]= (int)$start_day[i];
} else {
$start_day[i] = substr($row[wr_1],6,2);
$start_day[i]= (int)$start_day[i];
}
if( substr($row[wr_2],0,6) > $year.$sel_mon[i] ) {
$end_day[i] = $lastday[$month];
$end_day[i]= (int)$end_day[i];
} else {
$end_day[i] = substr($row[wr_2],6,2);
$end_day[i]= (int)$end_day[i];
}
//echo "start_day = ".$start_day[i] ."<br>";
//echo "end_day = ".$end_day[i] ."<br>";
for ($i = $start_day[i] ; $i <= $end_day[i]; $i++) {
$html_day[$i] = "1";
}
for ($i = $start_day ; $i <= $end_day; $i++) {
$list['comment_cnt'] = "(".$row['wr_comment'].")";
if($row['wr_comment'] == 0) {
$list['comment_cnt'] = null ;
} else {
if($row['wr_last'] >= date("Y-m-d H:i:s", G5_SERVER_TIME - (24 * 3600))) {
$list['comment_cnt'] = " (".$row['wr_comment'].")";
if($list['comment_cnt']!=null) $list['comment_cnt'] = "<span class='small'>".$list['comment_cnt']."</span>";
} else {
$list['comment_cnt'] = "<span class='small'>".$list[$i]['comment_cnt']."</span>" ;
}
}
$list['icon_new'] = null;
$row['wr_subject'] = cut_str(get_text($row['wr_subject']),$board['bo_subject_len'],"..."); // subject length cut
if($row['wr_datetime'] >= date("Y.m.d H:i:s", G5_SERVER_TIME - ($board['bo_new'] * 3600)))
$list['icon_new'] = "<img src='".$board_skin_path."/img/icon_new.gif' style='vertical-align:middle;' alt='new'>";
if($row['ca_name']) {
$ca_name ="<span style='font-size:11px;color:#22B14C;'>[".$row['ca_name']."]</span><br />";
}
$ahref = "<a href='".G5_BBS_URL."/board.php?bo_table=".$bo_table."&year=".$year."&month=".$month."&wr_id=".$row['wr_id']."'>";
if($row['ca_name'] == '공지') {
$html_day[$i].= "<div style='padding:5px; margin:0 0 2px 0; background:".$row['wr_3'].";'>".$ahref.$mb_id.$ca_name."<span class='bold' style='color:".$row['wr_4'].";'>".$row['wr_subject']."</span>".$list['comment_cnt']."</a></div>";
} else {
$html_day[$i].= "<div style='padding:5px; margin:0 0 2px 0; background:".$row['wr_3'].";'>".$ahref.$mb_id."<span style='color:".$row['wr_4'].";'>".$ca_name.$row['wr_subject'].$list['comment_cnt']."</span></a></div>";
}
}
}
// 달력의 틀을 보여주는 부분
// 여기부터 분석하면 됨
$temp = 7- (($lastday[$month]+$dayoftheweek)%7);
// $dayoftheweek; // 6 이다.
// $temp = 6 이다. 무슨 의미인가?
if ($temp == 7) $temp = 0;
$lastcount = $lastday[$month]+$dayoftheweek + $temp;
// $lastcount = 42
// $lastcount 는 달력을 이루고 있는 전체 셀의 갯수이다. 2003년 11월은 날짜 30개와 빈칸 12개 다.
//
for ($iz = 1; $iz <= $lastcount; $iz++) { // 42번을 칠하게 된다.
$bgcolor = "#ffffff"; // 쭉 흰색으로 칠하고
$offset = $iz%7;
if ($offset == 1) echo (" <tr>\n"); // 주당 7개씩 한쎌씩을 쌓는다.
if ($dayoftheweek < $iz && $iz <= $lastday[$month]+$dayoftheweek) {
if ($b_year==$year && $b_mon==$month && $b_day==$cday) {
$cstyle = 'today';
} else {
$cstyle = 'valid';
}
switch ($offset) { // 요일에 따라 날짜의 색깔 결정
case 1: $dstyle = 'sunday';
break;
case 0: $dstyle = 'saturday';
break;
default: $dstyle = 'weekday';
}
// 전체 루프안에서 숫자가 들어가는 셀들만 해당됨
// 즉 11월 달에서 1일부터 30 일까지만 해당
$daytext = "$cday"; // $cday 는 숫자 예> 11월달은 1~ 30일 까지
//$daytext 은 셀에 써질 날짜 숫자 넣을 공간
//if ($iz%7 == 1) $daytext = "<font color=red>$daytext</font>"; // 일요일
//if ($iz%7 == 0) $daytext = "<font color=blue>$daytext</font>"; // 토요일
// 여기까지 숫자와 들어갈 내용에 대한 변수들의 세팅이 끝나고
// 이제 여기 부터 직접 셀이 그려지면서 그 안에 내용이 들어 간다.
echo (" <td class='".$cstyle."'>");
if ($html_day[$cday]) {
$f_date = $year.sprintf("%02d",$month).sprintf("%02d",$cday);
echo "<p><a href=\"javascript:popup_window('".$latest_skin_url."/pop_schedule.php?bo_table=".$bo_table."&year=".$year."&month=".$month."&day=".$cday."&latest_dir=".$latest_dir."', 'schedule', 'left=50, top=50, width=312, height=400, scrollbars=1');\" class=\"writeday\"><b>".$daytext."</b></a></p>";
}
else { // 글쓰기 권한이 없으면 글쓰기 링크는 넣지 않고 그냥 숫자만 출력하기
echo "<p class='".$dstyle."'>".$daytext."</p>";
}
// echo $html_day[$cday];
echo ("</td>\n"); // 한칸을 마무리
$cday++; // 날짜를 카운팅
}
// 11월에서 1일부터 30일에 해당되지 않으면 그냥 회색을 칠한다.
else { echo (" <td class='invalid'> </td>\n"); }
if (($iz%7) == 0) echo (" </tr>\n");
} // 반복구문이 끝남
?>
답변을 작성하시기 전에 로그인 해주세요.