게시판에 글작성시 날짜선택시 요일도 함께 변경하는 방법 문의 > 그누4 질문답변

그누4 질문답변

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

게시판에 글작성시 날짜선택시 요일도 함께 변경하는 방법 문의 정보

게시판에 글작성시 날짜선택시 요일도 함께 변경하는 방법 문의

본문

게시판에 글작성할때  날짜선택시 요일도 함께 변경하는 방법을 문의 드립니다.

보통 게시판에 날짜선택은 calendar.php를 호출하여 새창에서 날짜를 선택하고 그날짜를 변수로 지정해서 디비에 저장을 하잖아요.

그런데 그 날짜 새창에서 날짜를 클릭하면 자동으로 요일도 넘어오게 할려면 어떻게 해야 하는지요??


////////////////////// write.skin.php에서 달력새창을 호출하는 버튼 //////////////////////////////

//////////// wr_1은 달력날짜를 넘겨받은 필드 ///////////////////////////////////

<input  class="input" size="10" name=wr_1  id=wr_1  value="<?=$today = date("Y-m-d");?>" readonly="readonly">
<a href="javascript:win_calendar('wr_1', document.getElementById('wr_1').value, '-');"> <img src='<?=$board_skin_path?>/img/calendar.gif' style="vertical-align:middle;" title='달력 - 날짜를 선택하세요'></a>





////////////////////// 달력창 함수 //////////////////////////////
    // 달력 창
    function win_calendar(fld, cur_date, delimiter, opt)
    {
        if (!opt)
            opt = "left=50, top=50, width=260, height=260, scrollbars=0,status=0,resizable=0";
        win_open(g4_path+"/" + g4_bbs + "/calendar.php?fld="+fld+"&cur_date="+cur_date+"&delimiter="+delimiter, "winCalendar", opt);
    }



/////////////////////////////// calendar.skin.php (실제뜨는 달력 새창 )/////////////////////
/////////////////// wday는 요일입니다.
아래 $k =0이면 일요일 1 이면 월요일 인것 같습니다. /////////////////

 <?
        $cnt = $day = 0;
        for ($i=0; $i<6; $i++)
        {
            echo "<tr>";
            for ($k=0; $k<7; $k++)
            {
                $cnt++;

                echo "<td class='td'>";

                if ($cnt > $dt[wday])
                {
                    $day++;
                    if ($day <= $last_day)
                    {
                        $mm2 = substr("0".$mm,-2);
                        $day2 =  substr("0".$day,-2);

                        echo "<span id='id$i$k' onclick=\"date_send('$yyyy', '$mm2', '$day2', '$k', '$yoil[$k]');\"  style='cursor:pointer;'>$day</span>";

                        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 "&nbsp;";
                } else
                    echo "&nbsp;";
                echo "</td>";
            }
            echo "</tr>\n";
            if ($day >= $last_day)
                break;
        }
        ?>
        </table>

<div style="margin:10px 0 10px 0; text-align:center;font-size:11pt;">
     
        <?="<a href=\"javascript:date_send('{$today[year]}', '{$mon}', '{$mday}', '{$today[wday]}', '{$yoil[$today[wday]]}');\">";?>
        오늘 : <?="{$today[year]}년 {$today[mon]}월 {$today[mday]}일 ({$yoil[$today[wday]]})";?></a>
</div>


///////////$yoil[$today[wday]] 은 현재 오늘의 요일을 나타냅니다.



날짜를 선택하면 자동으로 해당 요일을 어떻게 wr_4( 요일변수로 나름 지정한것.)로 받아서 wr_1과 함께 날짜와요일을 받을수 있을까요 ??

댓글 전체

고심끝에 자체 해결했습니다.

bbs/carendar.php 123번줄 부근에....


<script language="JavaScript">
//
// year : 4자리
// month : 1~2자리
// day : 1~2자리
// wday : 요일 숫자 (0:일 ~ 6:토)
// handay : 요일 한글
//
function date_send(year, month, day, wday, handay)
{
    var delimiter = document.getElementById('delimiter').value;
    opener.document.getElementById('<?=$fld?>').value = year + delimiter + month + delimiter + day + delimiter + handay;
    window.close();
}
//// delimiter + handay를 추가해줍니다. 여기서는 요일입니다.
</script>


/////////////////// delimiter 은 구분선 즉 - 를 뜻한다.  delimiter + handay를 추가해 주면됩니다.

그리고 write.skin.php에서

wr_2 (원하는 필드지정)에서 날짜와 요일을 한꺼번에 받고....
예)  2012-11-02-월


write_update.skin.php 에서 분리를 하여 각각 별도로 디비에 저장한다.

날짜는 wr_4 로 요일은 wr_5 로...


$temp = explode("-",$wr_2); // 2012-11-02-월 을 분리해준다.

$wr_4 = "$temp[0]-$temp[1]-$temp[2]";
$sql4 = " update $write_table set wr_4 = '$wr_4' where idx = '$idx' ";
sql_query($sql4);  // 날짜 별도 분리후 저장

$wr_5 = "$temp[3]";
$sql5 = " update $write_table set wr_5 = '$wr_5' where idx = '$idx' ";
sql_query($sql5);  // 요일별도저장

//////////////// 초간단으로 해결했습니다.ㅋㅋ ///////////
전체 104 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT