ギャラリーに独自のカレンダーを作成しようとしていますが、希望どおりに機能させることができません。SQL クエリを追加して、写真がいつ撮影されたかを取得し、日付をリンクできるようにしました。ここでは、すべての写真の正しい日付をリンクすることは問題ありません。これは、毎月の日をループする方法です。
これが私が今使っているコードです:
echo '<table width="100%" cellpadding="0" cellspacing="0">';
$months = Array(1 => 'Januari',
2 => 'Februari',
3 => 'Mars',
4 => 'April',
5 => 'Maj',
6 => 'Juni',
7 => 'Juli',
8 => 'Augusti',
9 => 'September',
10 => 'Oktober',
11 => 'November',
12 => 'December');
foreach($months AS $month_n => $month) {
# DATABAS: photos (hämta)
$get_photosdate = "SELECT photo_exif_taken FROM photos";
echo '<tr>';
echo '<td align="right" class="calendar-month" width="50">';
echo '<a href="'.url('sortby/date/2012/'.($month_n < 10 ? '0'.$month_n : $month_n)).'" title="Sortera fotografierna efter den här månaden">';
echo '<b>'.$month.'</b>';
echo '</a>';
echo '</td>';
echo '<td align="left" class="calendar-day">';
foreach($sql->query($get_photosdate) AS $date) {
for($i = 1; $i < 32; $i++) {
if(date('Y-m-d', strtotime($date['photo_exif_taken'])) == '2012-'.$month_n.'-'.$i) {
echo '<a href="'.url('sortby/date/2012/'.($month_n < 10 ? '0'.$month_n : $month_n).'/'.($i < 10 ? '0'.$i : $i)).'" class="calendar-link" title="Sortera fotografierna efter den här dagen">';
echo $i < 10 ? '<span style="color: #a16e74;">0</span>'.$i : $i;
echo '</a>';
} else {
echo '<span style="padding: 2px 3px;">';
echo $i < 10 ? '<span style="color: #a2a1a1;">0</span>'.$i : $i;
echo '</span>';
}
if($i == 11 OR $i == 22) {
echo '<br>';
}
}
}
echo '</td>';
echo '</tr>';
}
echo '</table>';
次のように日を出力する必要があります01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16
。しかし、月が変わるまでに、印刷01 02 03 04 05 06 ... 25 26 27 28 29 30 31 01 02 03 04 05 06
などを50回ほど行います。
どうしたの?
前もって感謝します。