quote($date_str); $res =& $mdb2->query($query); // 執行查詢 if (PEAR::isError($res)) die('查詢發生錯誤:' . $res->getMessage()); $memo = $res->fetchOne(); // 取出備忘錄資料 // 若是送回表單 (非第一次瀏覽) if(isset($_GET['memo'])) { if (get_magic_quotes_gpc()) $memo = stripslashes($_GET['memo']); $memo = trim($memo); // 去除前後空白 // 依前面的查詢結果判斷要執行的 SQL 敘述 if ($res->numRows()==1) { // 資料表中已有此日期的記錄 // 檢查表單傳回的是否為空字串 if (empty($memo)) // 是空字串, 則刪除資料 $sql = 'DELETE FROM todoList WHERE sdate =' . $mdb2->quote($date_str); else // 非空字串 // 則用表單傳回內容更新資料表 $sql = sprintf('UPDATE todoList SET memo=%s WHERE sdate=%s', $mdb2->quote($memo,'text'), $mdb2->quote($date_str)); $res = $mdb2->exec($sql); if (PEAR::isError($res)) die('更新發生錯誤:' . $res->getMessage()); $message = '修改成功'; // 設定要顯示的訊息 } // 若資料表中無此日期的記錄, 且表單傳回備忘錄資料 // 則使用 'INSERT INTO' 將備忘錄新增至資料庫 elseif (!empty($memo)) { $sql = sprintf('INSERT INTO todoList (sdate, memo) VALUES (%s,%s)', $mdb2->quote($date_str), $mdb2->quote($memo)); $res = $mdb2->exec($sql); if (PEAR::isError($res)) die('新增發生錯誤:' . $res->getMessage()); $message = '新增成功'; // 設定要顯示的訊息 } } // 輸出目前瀏覽的備忘錄所屬日期 echo "$date_str 行事備忘錄"; ?>