ロト君のサイト by lotokunn

L'sCore ロト君のサイトへようこそ!

  1. TOP
  2. パソコン
  3. PHP 閏年対応 Calendar

PHP 閏年対応 Calendar

皆さん今日は!今晩は!!ロト君です。
今回は、『閏年対応カレンダー』を作りましたので、備忘録も兼ねて掲載致します。

1.コード

<?php
function calendar($calendar_name,$years,$months,$days){
if(isset($years)){
if($years != 0){
$date_year = $years - 5;
}else{
$years = date('Y');
$months = date('m');
$days = date('d');
$date_year = $years - 5;
}
}else{
$years = date('Y');
$months = date('m');
$days = date('d');
$date_year = $years - 5;
}
?>
<select name="<?php print $calendar_name ;?>_01" class="<?php print $calendar_name ;?>-<?php print $calendar_name ;?>-js-changeDay">
<?php
for($i = $date_year;$i <= $date_year + 10;$i++){
if($i == date('Y')){
print '<option value="'.$i.'" selected="selected">'.$i.'</option>';
}else{
print '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>年
<select name="<?php print $calendar_name ;?>_02" class="<?php print $calendar_name ;?>-js-changeMonth">
<?php
for($i = 1;$i <= 12;$i++){
if($i == date('m')){
print '<option value="'.$i.'" selected="selected">'.$i.'</option>';
}else{
print '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>月

<select name="<?php print $calendar_name ;?>_03" class="<?php print $calendar_name ;?>-js-changeDay">
<?php
for($i = 1;$i <= 31;$i++){
if($i == date('d')){
print '<option value="'.$i.'" selected="selected">'.$i.'</option>';
}else{
print '<option value="'.$i.'">'.$i.'</option>';
}
}
?>
</select>日

<script type="text/javascript">
(function($){
function formSetDay(){
var lastday = formSetLastDay($('.<?php print $calendar_name ;?>-<?php print $calendar_name ;?>-js-changeDay').val(), $('.<?php print $calendar_name ;?>-js-changeMonth').val());
var option = '';
for (var i = 1; i <= lastday; i++) {
if (i === $('.<?php print $calendar_name ;?>-js-changeDay').val()){
option += '<option value="' + i + '" selected="selected">' + i + '</option>\n';
}else{
option += '<option value="' + i + '">' + i + '</option>\n';
}
}
$('.<?php print $calendar_name ;?>-js-changeDay').html(option);
}

function formSetLastDay(year, month){
var lastday = new Array('', 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0){
lastday[2] = 29;
}
return lastday[month];
}

$('.<?php print $calendar_name ;?>-<?php print $calendar_name ;?>-js-changeDay, .<?php print $calendar_name ;?>-js-changeMonth').change(function(){
formSetDay();
});
$('select[name="<?php print $calendar_name ;?>_01"]').val(<?php print $years; ?>);
$('select[name="<?php print $calendar_name ;?>_02"]').val(<?php print $months; ?>);
$('select[name="<?php print $calendar_name ;?>_03"]').val(<?php print $days; ?>);
})(jQuery);
</script>
<?php
}
?>

2.使い方

<?php calendar("birthday_date",date("Y"),date("m"),date("d")); ?>

の、様な感じで
select[name=”birthday_date_01″]
select[name=”birthday_date_02″]
select[name=”birthday_date_03″]
などが、HTMLで取得出来ます。

実際には上記の値をpostする事によって、変数渡しをしますね!!
では、今回はここまで!(>ω<)ノシ


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA



Hello!!

皆さんこんにちは!こんばんは!!ロト君です。

このサイトは私が興味を持ったモノやコトについて掲載をしていくサイトです。

主にパソコン関係やアニメ・ゲーム等について掲載すたいと思いますので、 どうぞ宜しくお願い致します!

コメント等はTwitter等を活用して頂けると有り難いです!!

Twitter: ロト君@lotokunn