? ??? ??? ?? ? ????? ?? ?? ?? ??? ???? ??????? ??? ? ?? ??? ?????. ?? ? ?? ???? ??? ? ??? ???.
???????? ??? ???? ?? ???? for/next ??? while ??? ??? ?????. ? ? ?? ?? ??? ??? ???? ???? ????. ? ??? ??? ?? ??? ?????: Grims World Blog ? ??? ??? ????.
<?php $cMonth = isset($_REQUEST["month"]) ? $cMonth = intval($_REQUEST["month"]) : $cMonth = date("m"); $cYear = isset($_REQUEST["year"]) ? $cYear = intval($_REQUEST["year"]) : $cYear = date("Y"); $prev_year = $cYear; $prev_year2 = $cYear-1; $next_year = $cYear; $next_year2 = $cYear+1; $prev_month = $cMonth-1; $next_month = $cMonth+1; if ($cMonth == 12 ) { $next_month = 1; $next_year = $next_year2; } elseif ($cMonth == 1 ) { $prev_month = 12; $prev_year = $prev_year2; } $short_days = array('1'=>'Sun', '2'=>'Mon', '3'=>'Tue', '4'=>'Wed', '5'=>'Thu', '6'=>'Fri', '7'=>'Sat'); $day=date('d'); $endDate=date('t',mktime(0,0,0,$cMonth,$day,$cYear)); echo "<table width='100%' align='center' border='0' cellpadding='0' cellspacing='5'><tr bgcolor='white'>\n"; echo "<td align='left'><a class='caldate3' href='".$_SERVER['PHP_SELF']."?month=$prev_month&year=$prev_year' title='Previous Month'> <big>««</big> Prev</a></td>\n"; echo "<td align='center'><a class='mcaldate2' href='#' title='Current Month'> ".date("F Y",strtotime($cYear."-".$cMonth."-01"))." </a></td>\n"; echo "<td align='right'><a class='caldate3' href='".$_SERVER['PHP_SELF']."?month=$next_month&year=$next_year' title='Next Month'>Next <big>»»</big> </a></td></tr>\n"; echo "<tr><td colspan='3' height='5'></td>\n"; echo "</tr></table>\n"; echo "<table width='100%' align='center' border='0' cellpadding='0' cellspacing='0'><tr><td class='norm'>\n"; echo "<table width='100%' align='center' border='0' cellpadding='2' cellspacing='1'><tr bgcolor='#000' height='20'>\n"; foreach ($short_days as $key=>$val) { echo "<td width='14%' align='center'><span style='font-size:14px; color:#ffff00;'><b>".$val."</b></span></td>\n"; } echo "</tr><tr>\n"; $s=date('w', mktime (0,0,0,$cMonth,1,$cYear)); for ($ds=1; $ds<=$s; $ds++) { echo "<td class='norm' height='20' align='center' valign='middle'></td>\n"; } for ($d=1; $d<=$endDate; $d++) { if (date('w',mktime (0,0,0,$cMonth,$d,$cYear)) == 0) { echo "</tr><tr>\n"; } $events = mysqli_query($connect, "SELECT * FROM `posts` WHERE SUBSTR(date,7,4)='$cYear' AND month='$cMonth' AND day='$d'"); $rows = mysqli_fetch_assoc($events); $post_id = $rows['id']; $post_title = $rows['title']; $evday = $rows['day']; if ($evday) { echo "<td height='20' class='event' align='center' valign='middle'>\n"; } elseif ($d == $day && $cMonth == date('m')) { echo "<td height='20' class='today' align='center' valign='middle'>\n"; } else { echo "<td height='20' class='norm' align='center' valign='middle'>\n"; } if ($d == $day && $cMonth == date('m') && $d <> $evday) { $d = str_pad($d,2,'0',STR_PAD_LEFT); echo "<span class='cal2'><a class='cal2' href='#' title='Today'>$d</a></span>\n"; } elseif ($d == $day && $cMonth == date('m') && $d == $evday) { $d = str_pad($d,2,'0',STR_PAD_LEFT); echo "<a class='cal2' href='post.php?id=$post_id' title='Today - $post_title'>$d</a>\n"; } elseif ($evday) { $d = str_pad($d,2,'0',STR_PAD_LEFT); echo "<a class='ecal' href='post.php?id=$post_id' title='$post_title'>$d</a>\n"; } else { $d = str_pad($d,2,'0',STR_PAD_LEFT); echo "<span class='noevt'>$d</span>\n"; } echo "</td>\n"; if (date('w',mktime (0,0,0,$cMonth,$d,$cYear)) == 6) { echo "</tr>"; } } echo "</table></td></tr><tr><td height='8'></td>\n"; echo "</tr></table>\n"; echo "</td></tr></table>\n"; ?>
SQL ??? ???? $events
??? ??? ???? ?? ??? ?????.
php ??? ??? mysqli_fetch_assoc ??? ?? ???? ??? ?? ???? ?? ??? ?????. ? ??? ?? ? ?? ??? ?? ??? ?? ?(?? ? ?? ?? ?? ?? null)? ????? while()
while()
??? ???? ?? ??? ???? ???. (?? ??? ???...??? ??).
??? ?? ????? ?? mysqli_num_rows
mysqli_num_rows
?? ??? ???? ??? ??? ??? ? ????. ?? ?? ??? ???? ??? ??? ??? ??? ???? ??? ? ????.
??? ??? ????:
????? - ???? ?? ?? ??? ???? ?? $events
變量更改為 $results
??? $results
AlsoORDER BY
- SQL(Documentation)?? ORDER BY
?? ???? ?? ???? ???? ????? ???? ?? ??? ???.
?? - SQL ??? ? ??? Prepared ?