發表文章

目前顯示的是 3月, 2014的文章

[Linux] 無法使用 tab 補字 的原因及解決方法 (將 /bin/sh 改成 /bin/bash)

今天使用 SSH 登入別人的 server,卻發現無法使用 tab 補字,使用 echo $SHELL 查一下 shell ,結果顯示 /bin/sh ,所以很顯然需要改 shell,方式如下: $chsh 1. 輸入密碼 2. 輸入shell如下 /bin/bash 重開機後,確認一下 $echo $SHELL 變成 /bin/bash 就代表成功了,可以使用 tab 補字了。

[jQuery] 避免使用者連點送出的小技巧 (包括 一般表單 及 匯出 excel)

有時因為資料量很大,當使用者送出查詢時,會需要一段時間(所謂的網頁轉轉轉),有時使用者會懷疑網頁沒在動,所以就會連點送出,反正造成更長的查詢時間,或是網頁直接跳成 "無法顯示網頁" ,這時就需要一些小技巧...

[HTML][好文] 不要將form放到 table 和 tr 之間

不要將form放到 table 和 tr 之間

[jQuery] 判斷瀏覽器語系

$ ( function () {         var lang = window .navigator.userLanguage || window .navigator.language ;         var autolang=lang.toLowerCase () ;         alert ( autolang ) ; } ) ;

[PHP][好文] HHVM, Nginx and Laravel

HHVM, Nginx and Laravel HHVM:運行 PHP 的東西,比原生快40%。 Nginx:戰鬥民族俄國人研發的東西,比 Apache 快很多。 Laravel:最新竄起的 Framework ,主打輕巧快速。

[PHP] 找出特定日期的前幾周的日期 (使用 strtotime )

找出三週前的日期,通常我們會用 echo date("Y-m-d", strtotime("-3 week")); 如果我們要找出 2011-11-11 三周前的日期呢?這時候就要用到 strtotime 的第二個參數 echo date("Y-m-d", strtotime("-3 week", mktime(0, 0, 0, 11, 11, 2011))); 備註: 還有另一種方式 echo date("Y-m-d", mktime(0, 0, 0, 11, (11 - (3 * 7)), 2011)); 這樣也會取到相同的日期

[jQuery] 如何做出可多選的 select 下單選單 (使用 multiple select 套件)

原生的 select 有提供多選的屬性 ( 參考 ),但是說實話有點醜,如果想要做出漂亮的多選選單,可使用 multiple select 套件( 官網 ),使用方式參考官網的範例就好了,簡單好用。 備註: 1. select 選單如果使用多選,則 name 需要加上 [],例如:<select name="myselect[]" multiple>,這樣被選取的項目會以陣列形式傳送。

[MYSQL] JOIN 加上 子查詢

表1 客戶主檔 user uid | name 1 | AAA 2 | BBB 3 | CCC 表2 購買記錄 buy uid | money 1 | 100 1 | 200 2 | 100 表3 聯絡方式 connect uid | tel | city 1 | 0911111111 | taipei 1 | 0922222222 | taichung 如果只要撈出每個客戶的總購買金額,很簡單,語法如下: SELECT   user.name, SUM(buy.money) FROM   user   LEFT JOIN buy ON user.uid = buy.uid GROUP BY   user.uid 問題來了,當我們需要撈出每個客戶的總購買金額,同時必須帶出聯絡方式(一筆就好),常見的錯誤語法如下: SELECT   user.name, SUM(buy.money), connect.tel, connect.city FROM   user   LEFT JOIN buy ON user.uid = buy.uid   LEFT JOIN connect ON user.uid = connect.uid GROUP BY   user.uid 因為當 JOIN 表3後,資料相乘下筆數會變多,SUM之後的金額就會變大,所以,需要透過子查詢,來達成我們的目的,語法如下: SELECT   user.name, SUM(buy.money), connect.tel, connect.city FROM   user   LEFT JOIN buy ON user.uid = buy.uid   LEFT JOIN (SELECT uid, tel, city FROM connect GROUP BY uid) AS connect ON user.uid = connect.uid GROUP BY   user.uid 備註:子查詢語法中 SELECT 的項目很重要,如果外層需要使用到時,都必須要子查詢中先SELECT出...

[JavaScript] 避免送出鈕連續點擊而送出兩次的方法

<input type="button" name="Submit" value="Submit" onclick="this.disabled=true" />

[PHP][MYSQL] 需要抓一年裡面的第幾週時 應該要注意的地方 ( 依 ISO 8601 的規範 )

如果有人問你 2011-01-01 是在哪一年的第幾週?大部份的人應該都會直覺的回答 「2011年的第一週」,實際上,如果依照 ISO 8601 的規範,2011-01-01 是在 2010年的第52週,這樣的盲點容易造成程式錯誤,所以需要特別注意。 抓今天 ISO 8601 的 年-週 (週的第一天是禮拜一) PHP 語法 echo date("o-W"); MYSQL 語法 SELECT DATE_FORMAT(NOW(), '%x-%v')

[jQuery] 解決 button 無法透過 prop 或 attr 去控制 disabled 的問題

jQuery UI 有提供漂亮的按鈕 button 物件可以使用,以往我們習慣利用 HTML 的 disabled 屬性去控制按鈕是否開放使用者點選,例如: <button id="mybutton" disabled="disabled">按鈕</button> 如果要開放這個按鈕給使用者點選時,直覺會想這樣做: $("#mybutton").prop("disabled", false);  //(錯誤) 但這樣做會失敗,正確的做法是利用 Button 物件的 API ,如下: $("#mybutton").button({ disabled: false });  //(正確)

[JavaScript] if 的空值判斷 (適用 undefined 、 NULL 、 "" )

在有宣告的狀態下,空值會有三種: 一種是 undefined var value; 一種是 NULL var value = null; 一種是 "" var value = ""; 都可以用下列方式判斷 if(!value){   alert("代表空值"); }

[其他] 好用的免空 (需要提供檔案給其他人下載時)

WeTransfer 2 GB 免註冊,只要填你要寄送檔案對象的 Email ,然後自己的 Email 可以亂填,對方就會收到可以下載檔案的連結。 MEGA  50 GB 需註冊。(如果未登入狀態下上傳檔案,則無法讓其他人下載) BitSend 無上限 免註冊,14天後自動刪檔。

[jQuery] 解決 select radio checkbox ...等 無法使用 readonly 的方法

readonly 跟 disabled 雖然都可以達到讓使用者無法調整內容的目的,但是表單 submit 後,會無法取得 disabled 的欄位值,所以,必須使用 readonly 。 但是, select 、 radio 、 checkbox 卻無法使用 readonly ,雖然可以透過一些 javascript 的方式去達到 readonly 的效果,不過有個更單純的方法,就是先 disabled ,然後送出時在 un disabled,做法很簡單...

[CSS] 公分(cm)如何換算成像素(px)?

最粗淺的算法 1cm = 38px