跳到主要內容

發表文章

目前顯示的是 7月, 2017的文章

jQuery取得下拉選單selected中數值與內容的方法

假設選單狀態為: <select id='selectname '> <option value='v1' data-id="d1">選單A</option> <option value='v2' data-id="d2">選單B</option> <option value='v3' data-id="d3">選單C</option> </select> 以jQuery取得選單數值與內容方法如下: 1、取得下拉選單 value 數值的方法 $selectname=$('#selectname').val(); alert($selectname); //顯示選單中 selected 狀態的value數值v1 or  v2  or  v3。 2、取得下拉選單中 data-id 數值的方法 $data-id= $(this).find(':selected').attr('data-id'); alert($data-id); //顯示選單中 selected 狀態的data-id數值d1 or  d2 or  d3。 3、取得下拉選單中 文字 的方法 $selecttext=$(this).find(':selected').text(); alert($selecttext); //顯示選單中 selected 狀態的文字內容,如選單A or  選單B or 選單C。 教學撰寫:徐嘉裕 Neil hsu

CentOS啟用mod_speling套件的方法(檔名英文大小寫不區分)

英文檔案或檔名通常會有大小寫的區分,例如zTree跟ztree這樣的檔案資料夾,如果是windows伺服器是沒這問題的,大小寫不區分,所以讀取路徑寫zTree跟ztree都可以讀到檔案,但如果是linux伺服器像是CentOS,就必須啟用mod_speling套件才行,不然大小寫會被分成不同的檔案,路徑若沒區分大小寫則會讀不到檔案,導致網站功能異常,以下為啟用mod_speling套件的方法教學: 1、先檢查mod_speling套件是否有啟用,進到ftp找以下的資料夾位置,找到httpd.conf檔案 /etc/httpd/conf/ httpd.conf   用筆記本打開,搜尋以下設定: LoadModule speling_module modules/mod_speling.so 若是沒有請加上,如果前面有#號請取消。 2、一樣是httpd.conf 檔案,查詢AllowOverride,吧預設值 None 通通改成 All ,這樣才能使用 .htaccess功能,否則會出現http500伺服器錯誤。 3、使用ssh連線輸入以下指令重新啟用apache伺服器, service httpd restart 可以使用pietty之類的ssh遠端連線軟體輸入指定操作: https://sites.google.com/view/pietty-project 4、重啟apache後於網站根目錄置入.htaccess檔,放在以下的位置 /var/www/html <-裡面 5、打開.htaccess,貼上以下的code <IfModule mod_speling.c> CheckCaseOnly On  CheckSpelling On  </IfModule> 存檔後可以測試看看,檔名或檔案英文大小寫就會不區分了,不會在發生讀不到檔案的靈異事件。 參考資料: https://www.a2hosting.com/kb/developer-corner/apache-web-server/using-the-mod-speling-apache-module 教學撰寫:徐嘉裕 Neil hsu

Xoops全站取得Config資料表中某筆conf_value值的方法

Xoops的Config資料表主要是用來儲存一些Xoops網站的設定值,也包括Xoops模組的偏好設定,如果要在模組中取得Config資料表中的conf_value就簡單多了,只需要使用    $xoopsModuleConfig['config_name']即可,但如果是要在全域中使用,例如網站佈景首頁或全部的頁面,那這方法就沒用了,需要改用以下的方法取的conf_value值。 假設我們要取得Config資料表中conf_name為appId 的conf_value數值: appId 為tad_login的偏好設定欄位。 global $xoopsConfig; function tad_loginappid() { $modhandler = xoops_gethandler('module'); $config_handler =xoops_gethandler('config'); $xoopsModule = &$modhandler->getByDirname(" tad_login ");   //查詢欄位所屬模組 $modConfig= &$config_handler->getConfigsByCat(0, $xoopsModule->getVar('mid')); $xoopsModuleConfig = & $config_handler->getConfigsByCat(0, $mid); return $modConfig['appId'];   //陣列帶出appId欄位值 } $tad_loginappid=tad_loginappid(); 以上為使用Xoops建構函式的方法取得conf_value數值,不過我個人比較喜歡用撈資料表方式來取得conf_value值,大家可以參考看看喔!! global $xoopsDB; $sql = "select mid from " . $xoopsDB->prefix('config') . " where ` conf

Xoops搜尋資料表欄位有多個數值的方法

Xoops搜尋資料表欄位有多個數值的方法  假設我們要搜尋資料表欄位cat_id帶出item_id的數值,而cat_id欄位有多個數值如下: 用一般的sql語法 where ` cat_id ` = '2'或是 where ` cat_id ` = '4'是查不到 item_id 的數值,必須要用 where FIND_IN_SET({$value},`cat_id` 方法,完整的Xoops sql語法如下: $sql = "select * from " . $xoopsDB->prefix('資料表名稱') . " where FIND_IN_SET({ $value },`cat_id`)";$result = $xoopsDB -> query($sql) or die($sql); while(list($item_id) = $xoopsDB -> fetchRow($result)){ echo $item_id ; } 說明:$value 為任意變數值,可填入數字做為資料表查詢依據。 教學撰寫:徐嘉裕 Neil hsu

在PHP遞迴中變更變數名稱的方法

在遞迴中如果變數的ID相同,可能會導致數值被覆蓋或程式出錯,所以需要隨者遞迴的次數增加而改變變數的名稱,這樣程式才能正常運作,方法如下: Recursive(1); //呼叫傳遞參數1進入函數中 function Recursive($value){ echo ${"variable".$value} = "{$value}<br />"; if ($value>=5){ //如果遞迴次數超過5或是=5,結束遞迴 return; } Recursive($value+1); } 輸出: 1 2 3 4 5 要更改的變數寫成${"variable".$value} ,合併後就是 $variable1,$variable2,$variable3,$variable4,$variable5 ,等於5個完全不相同的變數,這樣數值就不會重複出錯了。 教學撰寫:徐嘉裕 Neil hsu

模組使用tadtools模組的ckeditor編輯器套件方法(Xoops模組開發)

最近剛好要開發新Xoops模組,需要用到ckeditor編輯器跟圖片上傳功能,之前是有修改好的ckeditor編輯器套件加上CKFinder破解版(可無限上傳圖片跟刪除圖片無天數限制),可是已經是舊版本了,會跟新版瀏覽器有兼容問題,所以上ckeditor官網查了一下目前最新版本為ckeditor4.7版,下載回來用安裝方法跟之前一樣沒多大改變,可是CKFinder套件就無法使用了(Oh my God!!),新版的CKFinder全部的js都加密過了,要用原本的方法破解似乎是不可能了,看來只能想其他的方法了(砍掉重練)!! 這時候才想到由 吳弘凱 老師所開發的tadtools工具包模組裡面就有最新版的ckeditor編輯器加上elFinder圖片套件,可以無限上傳及刪除圖片,而且老師都已經修改好吧程式建構化了,因此只需要簡單的呼叫建構函式給參數值跟樣板js程式就能使用ckeditor編輯器,而且也會自動在uploads資料夾底下建立編輯器存放圖片的目錄,還有權限機制也寫好了,真是太感謝吳弘凱老師無私的付出, 向您至上12萬分的敬意 。 以下即為使用tadtools模組中的ckeditor套件方法。 1、須於php擋頭引入ckeditor.js檔 $xoopsTpl->assign('xoops_module_header', "<script src='" . XOOPS_URL . "/modules/tadtools/ckeditor/ckeditor.js'></script>"); 2、須於php檔案中引入tadtools模組中的tad_function.php檔案 include_once XOOPS_ROOT_PATH."/modules/tadtools/tad_function.php"; 3、加上以下的呼叫$editor建構函式語法(這樣才能建立圖片資料夾) include_once XOOPS_ROOT_PATH . "/modules/tadtools/elrte.php"; global $xoopsModule; $moduleid=$xoopsM