registerFunction('getMemo'); // 註冊回應函式 $xajax->processRequest(); // 處理回應 //---------------------------------------------------------------------- // 滑鼠停在有備忘錄的日期時, 用戶端即會呼叫此函式 // 函式會到資料庫查詢指定日期的備忘錄, 並傳回給用戶端 function getMemo($date_str) { include('../Ch12/Ch12db.inc.php'); // 引用資料庫設定檔 // 設定以參數 $date_str 為日期條件的查詢字串, 並執行查詢 $query = 'SELECT memo FROM todoList WHERE sdate =' . $mdb2->quote($date_str); $res =& $mdb2->query($query); // 執行查詢 if (PEAR::isError($res)) // 若查詢發生錯誤 $memo = '查詢發生錯誤:' . $res->getMessage(); else { // 若查詢未發生錯誤 $memo = $res->fetchOne(); // 取出備忘錄資料 $memo = htmlspecialchars($memo); // 轉換為適合顯示於網頁的形式 } $objResponse = new xajaxResponse(); if (!empty($memo)) { // 若備忘錄不是空字串 $objResponse->assign($date_str, // 將備忘錄 'innerHTML', // 指定給 id=指定日期的 nl2br($memo)); // 標籤之 innerHTML 屬性 $objResponse->assign($date_str, // 將該標籤 'style.width', // 的寬度樣式 '10em'); // 設為 10em } return $objResponse; } ?>
一 | 二 | 三 | 四 | 五 | 六 | 日 |
---|---|---|---|---|---|---|
\n" ); // 輸出空白 else { if($day->isSelected()) // 若為特殊日期 echo ' | '; // 則替標籤設定類別 else echo ' | '; // 否則只輸出 |
// 將日期設為會呼叫 JavaScript 函式 popUp()的連結
// 並以年月日字串 $date_str 當呼叫的參數
// 用 onmouseover 屬性設定當滑鼠移上來時,
// 即以年月日字串為參數呼叫 xajax_getMemo()
echo "" .
// 在 標籤中加入 區塊
// 其中使用 thisXXX() 取得年月日數值
// 當成呼叫 JavaScript 函式 popUp() 的參數
"" .
$day->thisDay() . " | \n";
}
if ( $day->isLast() ) // 若是該週最後1天
echo ( "
滑鼠停在日期上即可瀏覽當天行事備忘錄,按日期則可進行編輯。