hero412

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

· 2012-11-08 (목) 08:21:42 · 1705 · 1
게시판에 글작성할때 날짜선택시 요일도 함께 변경하는 방법을 문의 드립니다.

보통 게시판에 날짜선택은 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 " ";
} else
echo " ";
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과 함께 날짜와요일을 받을수 있을까요 ??
|

댓글 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); // 요일별도저장

//////////////// 초간단으로 해결했습니다.ㅋㅋ ///////////
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
12-11-08 조회 1,656
12-11-08 조회 868
12-11-08 조회 566
12-11-08 조회 852
12-11-08 조회 1,068
12-11-08 조회 856
12-11-08 조회 1,042
12-11-08 조회 1,712
12-11-08 조회 1,787
12-11-08 조회 943
12-11-08 조회 1,807
12-11-08 조회 1,706
12-11-08 조회 5,571
12-11-07 조회 2,928
12-11-07 조회 866
12-11-07 조회 1,100
12-11-07 조회 909
12-11-07 조회 1,183
12-11-07 조회 1,404
12-11-07 조회 2,366