このプラグインをテストしたところ、次の問題が見つかりました。
①年と月がジャンプすると、コードに <a href='sy1.php?y={$nexty}'> が発生します。 >></a> ですが、sy1.php ファイルが存在しない場合は、現在のファイル Calendar.php に変更できます。
②ジャンプ後は、例えば2018年5月です。2018年6月に切り替えていずれかの日を選択すると、年月表は初期値の2018年5月に戻ります。答えてください。ありがとうございます
邓2018-05-10 11:52:34
//問題②を修正
修正したコードは以下の通りです:
<!DOCTYPE html>
<html>
<style>
table{background:#99ffcc;}
th{フォントファミリー :公式スクリプト;color:#0099ff;}
#tr1{background:#00ccff;}
.td1{color:#009999;}
a{color:#ff9900;}
</ style>
<head>
<meta charset="UTF-8">
<script src="jquery-2.2.3.js" type="text/javascript"></ script>
</head>
<body>
<?php
require "./Convert.class.php";
$convert=isset($_GET["convert"])? $_GET[" Convert"]:date("Y-m-d");
//php Calendar
//1.date() 関数は現在の年、月、日を取得します
$year=isset($_GET[" y"])?$ _GET["y"]:date("Y");
$mon=isset($_GET["m"])?$_GET["m"]:date("m") ;
$day= isset($_GET["d"])?$_GET["d"]:date("d");
$convert=$year.'-'.$mon.'-' .$day;// 日付形式を組み立てます
if($convert!=''){
$c=new Convert($convert);
$time=$c->getLyTime();//Get太陰時間
// echo $convert.'対応する太陰時間:'.$time;
}
//2 現在の月の日数を取得するための mktime() 関数の使用。毎月 1 日の曜日
$daynum=date(" t",mktime(0,0,0,$mon,1,$year));//現在の月の日数 31
$w=date("w",mktime(0,0,0,$mon, 1,$year));//月の 1 日の曜日 4
//3 を出力します。カレンダーのヘッダー情報
echo"<div>";
echo"<table border='0' >";
echo"<h3><div>{$year}年{ $mon}月{$day}</div></h3>";
echo "<tr id='tr1'onmouseOver='overTr(this)'onmouseOut='outTr(this)'>";
echo "<th style=' color:#ff0000;'onmouseOver='overTr(this)'onmouseOut='outTr(this)'>日</th>";
echo "<th>一</th>";
echo "
echo "
echo "
echo " <th> ;五</th>";
echo "<th style='color:#ff0000;'>六</th>";
echo "</tr>";
//4出力カレンダーを走査します
$dayindex=1;
while($dayindex<=$daynum){
echo "<tr onmouseOver='overTr(this)'onmouseOut='outTr(this)' >" ;
for($i=1;$i<=7;$i++){// 7 日間の情報を出力するループ
if($dayindex<=$daynum&&($w<$i||$dayindex ! =1)){
//'2014-10-1'(そのような文字列を渡します)$year-$month-$d
if($dayindex==$day){
echo "< ;th style='background:#ff0000;'><a href='?y={$year}&m={$mon}&d={$dayindex}'>{$dayindex}</a< /th>";
}else{
echo "<th onmouseOver='overTh(this)' onmouseOut='outTh(this)'><a href='?y={$year} &m= {$mon}&d={$dayindex}'>{$dayindex}</a></th>";
}
$dayindex++;
}else{
echo"< </th>";
}
=$mon;
if($prem<=1){
$prem=12;
$prey--;
}他の{
$prem --;
}
if($nextm> ;=12){
$nextm=1;
$nexty++;
}else{
$nextm++;
}
$prey=$year- 1;//前年
$nexty= $year+1;//来年
//ハイパーリンク
echo "<tr onmouseOver='overTr(this)'onmouseOut='outTr(this)'> <tdcolspan='7'align ='center'>";
echo"<a href='calendar.php?y={$prey}&m={$mon}&d={$day}' ><<</ a> ";
echo "<font face='official script'color='#663399'>{$year}年</font> ";
echo " <a href='calendar.php?y={$nexty}&m={$mon}&d={$day}'>>></a>
echo" ";
echo"<a href='calendar.php?y={$year}&m={$prem}&d={$day}'><</a> ";
echo "<font face='隶书'color='#663399'>{$mon}月</font> ";
echo "<a href='calendar.php?y={$year }&m={$nextm}&d={$day}'>></a>";
echo "</td></tr>gt;";
echo "<tr onmouseOver= 'overTr(this)'onmouseOut='outTr(this)'><tdcolspan='7'>";
echo "<div>$convert对应的农历時間:$time</div>" ;
echo "</td></tr>";
echo "</table>";
echo "</div>";
?>
<script>
var oriCol=null;
function overTr(obj){
oriCol=obj.bgColor;
obj.bgColor='#0f0';
}
function outTr(obj){
obj.bgColor =oriCol;
}
function overTh(obj) {
oriCol=obj.bgColor;
obj.bgColor='red';
}
function outTh(obj){
obj.bgColor=oriCol ;
}
</script>
</body>
</html>