quote($_GET['bid'],'integer'); // 點選次數 $res =& $mdb2->query($sql); // 執行查詢 if (PEAR::isError($res)) die('查詢發生錯誤:' . $res->getMessage()); $count = $res->fetchOne(); // 取得點選次數 if (PEAR::isError($row)) die('存取資料失敗:' . $rows->getMessage()); $exec = sprintf('UPDATE bookmark SET click=%d WHERE bid =%d', $count+1 , // 將點選次數加 1 寫回資料庫 $mdb2->quote($_GET['bid'],'integer')); $res = $mdb2->exec($exec); if (PEAR::isError($res)) die('更新資料庫失敗:' . $res->getMessage()); header('Location:' . $_GET['url']); // 轉到書籤的網址 exit(); // 結束程式 } // GET 參數中有 bid 但無網址, 表示使用者要編輯書籤 elseif(!empty($_GET['bid'])) { // 修改 $sql = 'SELECT * FROM bookmark WHERE bid =' . // 查詢書籤所有欄位 $mdb2->quote($_GET['bid'],'integer'); $res =& $mdb2->query($sql); // 執行查詢 if (PEAR::isError($res)) die('查詢發生錯誤:' . $res->getMessage()); if ($res->numRows()==0) { // 若找不到書籤, 表示參數有誤 $row['descrption'] = '無此書籤,進新增模式'; // 建立示誤訊息 $smarty->assign('bookmark',$row); // 在表單中顯示訊息 } else { // 若有找到書籤資料 $row = $res->fetchRow(); if (PEAR::isError($row)) die('存取資料失敗:' . $rows->getMessage()); $smarty->assign('bookmark',$row); // 將書籤資料設定給樣版 $smarty->assign('edit', true); // 設定目前為編輯模式 // 到 tag 資料表查詢編輯中書籤的所有標籤 $sqlTag = 'SELECT name from tag WHERE bid =' . $mdb2->quote($_GET['bid'],'integer'); $res =& $mdb2->query($sqlTag); // 執行查詢 if (PEAR::isError($res)) die('查詢發生錯誤:' . $res->getMessage()); while ($row = $res->fetchRow()) // 將標籤以空白分隔 $alltag .= $row['name'] . ' '; // 組成單一字串 $smarty->assign('tags', $alltag); // 設定要顯示頁面資料 } } $smarty->display('Ch13-09.tpl'); ?>