カレンダーに値を表示する
度々お世話になっています。いつも質問ばかりですみません。
カレンダーにその日付にあった値を表示したいと思っています。
テーブル:acclog
フィールド:hidukeには2007-01-01などの日付、$urlには数字が入ってます。下記コードの場合、カレンダーが31個(1月分)できて、1個目全ての日に2007-01-01の数、2個目に2007-01-02の数がでます。素人ながら、for($day=1; checkdate($month,$day,$year);$day++){
あたりが原因かと思い、消す・ずらすなどやってみましたが、ダメでした。お手数ですがよろしくご教授下さい。
$y="2007";
$sql = "select * from acclog where hiduke like '$y-01%'";
$result = mysql_query($sql);
( $result, MYSQL_ASSOC ) )
while($rec = mysql_fetch_array( $result, MYSQL_ASSOC ))
{
foreach ($rec as $k=>$v) {
$rec[$k] = mb_convert_encoding($v,'SJIS','EUC-JP');
}
$month=substr($rec[hiduke],5,2);
$year=substr($rec[hiduke],0,4);
$day=substr($rec[hiduke],8,2);
$first_day = mktime( 0,0,0,$month,1,$year);//1日(月初)のタイムスタンプから「曜日」を取得
$first_weekday = date("w",$first_day);
echo "<table width='450' border='1'>";
~一部省略 月などの曜日
echo "<tr>";
$weekday = 0;
//1日の曜日まで空欄必要
while ($weekday!=$first_weekday) {
echo "<td> </td>";
$weekday++;
}
for($day=1; checkdate($month,$day,$year);
$day++){
if($weekday>6){
$weekday=0;
echo "</tr>\n<tr>";
}
echo "<td align=center>${day}<br>";
echo "$rec[$url]<br>";
echo "</td>";
$weekday++; //曜日をすすめる
}
}
while($weekday<7){ //最後の空欄作成
echo "<td> </td>";
$weekday++;
}
echo "</table>";
お礼
変更します