일정관리 미니달력 최신글 관련 질문드리겠습니다. 채택완료
안녕하세요
http://sir.kr/g5_skin/9849?sfl=wr_subject%7C%7Cwr_content&stx=%EC%9D%BC%EC%A0%95
위에 주소에도 댓글에 질문을 남기긴 했는데요,
달력에서 날짜를 누르면 해당 날짜에 등록된 글이
새창으로 열리는 방식말고 바로 해당 글의 뷰페이지로 넘기고 싶습니다.
그래서 나름 링크 걸리는 부분 소스를 고쳐봤는데요,
Copy
<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\">
이 부분을
Copy
<a href='".G5_BBS_URL."/board.php?bo_table=".$bo_table."&year=".$year."&month=".$month."&wr_id=".$row['wr_id']."'>
이렇게 바꿔도 $row['wr_id'] 요게 나오지 않아서 그런건지 해당 글로 안 넘어가지더라구요
어떻게 하면 새창으로 안띄우고 뷰페이지로 바로 넘길 수 있을까요? ㅜㅜ
조언 좀 부탁드립니다.
아래 소스는 기본 소스입니다.
Copy
<?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"); } // 반복구문이 끝남 ?>
답변 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인