MySQL 自訂ORDER BY捱序或 ORDER BY 忽略

1. 只按日期排序,忽略年份
> select date, description from table_name order by month(date),dayofmonth(date);
注意:單純使用dayofyear來排序會導致錯誤,如2-29與非閏年的3-1日同等級

2. 排序點分式IP
> select ip from table_name order by inet_aton(ip);
或者在設計表時就使用int unsigned 來表示ip

3. 將某列中特定值排在最前
例如想把表中lulu的名字排在最前顯示,其他按字母排序
> select name from table_name order by if(name=’lulu’,0,1),name ;
也可以把if的條件根據需要換成相應的語句。

4. 將某列內容按照使用者自訂的順序排序
例如想把表中的名字按lulu,xixi,baba,mama的非常規順序排序輸出:
> select name from table_name order by field(name,’lulu’,’xixi’,’baba’,’mama’);

5. 對枚舉類型排序
枚舉類型預設為數字排序,如果希望以字串形式排序。
> select name from table_name order by cast(name as char);
如果希望更改enum的排序預設順序,可以alter table
alter table table_name modify name enum(‘lulu’,’xixi’,’mama’,’baba’);

6. csv類型的字串的某字串排序
例如某列m_str內容是形如abc-321-mno-jkl的形式,希望對第二列進行排序
> select m_str from table_name
order by substring_index(substring_index(m_str,’-‘,2),’-‘,-1);

[……]

閱讀更多

google DNS 設定範例

google DNS 設定範例

對於使用 Google Apps 的網域,可能的 DNS 設定範例如下。

請注意,請勿填寫您要設定 DNS 的網域名稱,而是使用 @ 符號指出您要設定 DNS 的網域名稱。
名稱/主機/別名紀錄類型值/答案/目的位置空白或 @A216.239.32.21空白或 @A216.239.34.21空白或 @A216.239.36.21空白或 @A216.239.38.21空白或 @MX1 ASPMX.L.GOOGLE.COM.空白或 @MX5 ALT1.ASPMX.L.GOOGLE.COM.空白或 @MX5 ALT2.ASPMX.L.GOOGLE.COM.空白或 @MX10 ASPMX2.GOOGLEMAIL.COM.空白或 @MX10 ASPMX3.GOOGLEMAIL.COM.mailCNAMEghs.googlehosted.com.空白或 @TXTgoogle-site-verification=6tTalLzrBXBO4Gy9700TAbpg2QTKzGYEuZ_Ls69jle8空白或 @TXTv=spf1 include:_spf.google.com ~allwwwCNAMEghs.googlehosted.com.

https://support.google.com/a/answer/48090

[……]

閱讀更多

[jQuery]使用jQuery對 select 的操作

使用jQueryselect的操作方式有很多種,在此列出我個人常用的方式
1. 取得選擇項目的文字與值
/*—– 單選 —–*/
//  取得被選擇項目的文字
$(“#select”).find(“:selected”).text();
//  取得被選擇項目的值
$(“#select”).find(“:selected”).val();
/*—– 多選 —–*/
//  使用迴圈取得所有被選擇的項目
$(“#select”).find(“:selected”).each(function() {
    alert(this.text);    //  文字
    alert(this.value);   // 
});
2. 增加項目
$(“#select”).append($(“<option></option>”).attr(“value”, ““).text(“文字“));

$(“#select”).append(‘<option value=”‘++'”>’+文字+'</option>’);

3. 移除選擇的項目
//  移除選擇的項目
$(“#select”).find(“:selected”).remove();
//  移除全部的項目
$(“#select option”).remove();
4. 移除選擇項目後,防止捲軸移到最上面
//  先取得要移除項目的 index
var selectIndex = $(“#select”).find(“:selected”).index();
//  移除選擇的項目
$(“#select”).find(“:selected”).remove();
//  判斷移除項目後,原先的index是否還有option,有的話就直接將此option設定為選取狀態
//  捲軸就不會往上跑了
if ($(‘#select option’).get(selectIndex) != null) {
    $(‘#select option’).get(selectIndex).selected = true;
}
else {
    //  沒有項目的話,判斷select理是否還有option
    //  有的話,表示移除的項目為最後一個,就設定上一個option為選取狀態
    if ($(‘#select option’).length > 0) {
        $(‘#select option’).get(selectIndex – 1).selected = true;
    }

}

[……]

閱讀更多

A+ 無障礙網頁規範說明

教育部無障礙全球資訊網–【範例說明】
http://www.batol.net/enable/demo.asp

無障礙網頁的定位點(導盲磚 )
http://bootleq.blogspot.tw/2008/07/blog-post.html

研考會 無障礙檢測工具FreeGo下載-下載單機版檢測工具 Freego

http://www.webguide.nat.gov.tw/wSite/ct?xItem=36316&ctNode=14521&mp=1

最佳範例
研考會 無障礙相關http://www.webguide.nat.gov.tw/wSite/np?ctNode=14519&mp=1

1.定位點必須是「找得到」的

官方堅持使用者以 Ctrl + F 尋找功能搜尋「:::」字串時,必須能「發現」定位點。
……在此戲稱「導盲磚必須看得見」原則。參考官方留言板,以下作法會被退件:
display:none 隱藏定位點(相當於由顯示中移除,可能導致沒有定位點)
把 ::: 幾個字改為圖片(Ctrl + F 找不到)
把 ::: 字體設為極端小(Ctrl + F 找得到,但是不容易看到,也是不行)

再者,倒是允許把 ::: 文字顏色設為跟背景色相同,無障礙服務網亦如此設計。

2.定位點數量不宜過多

3.快速鍵(accesskey)不應與瀏覽器的快速鍵設定相同

[……]

閱讀更多

PHP Imagetype 常數對應表

雖然我們常用的沒有那麼多~不過還是全部列出來囉~有需要的捧油請自行參考。

■藍色標記是我

1   IMAGETYPE_GIF
2   IMAGETYPE_JPEG
3   IMAGETYPE_PNG
4   IMAGETYPE_SWF
5   IMAGETYPE_PSD
6   IMAGETYPE_BMP 

7   IMAGETYPE_TIFF_II (intel byte order)
8   IMAGETYPE_TIFF_MM (motorola byte order)
9   IMAGETYPE_JPC
10 IMAGETYPE_JP2

11 IMAGETYPE_JPX
12 IMAGETYPE_JB2
13 IMAGETYPE_SWC
14 IMAGETYPE_IFF
15 IMAGETYPE_WBMP
16 IMAGETYPE_XBM
17 IMAGETYPE_ICO 

原文:http://php.net/manual/en/function.exif-imagetype.php[……]

閱讀更多

過濾script…等可能引入惡意內容或惡意改變顯示布局的代碼

//過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
function filter_danger_code($str)
{
 $farr = array(
 “/s /”, //過濾多余的空白
“/<(/?)(script|iframe|style|html|body|title|link|meta|object|?|%)([^>]*?)>/isU”, //過濾 <script 等可能引入惡意內容或惡意改變顯示布局的代碼,如果不需要插入flash等,還可以加入<object的過濾
“/(<[^>]*)on[a-zA-Z] s*=([^>]*>)/isU”, //過濾javascript的on事件

);
 $tarr = array(
 ” “,
 “<\1\2\3>”, //如果要直接清除不安全的標簽,這里可以留空
“\1\2”,
 );

 $str = preg_replace( $farr,$tarr,$str);
 return $str;
}[……]

閱讀更多

mysql的sql檔太大無法匯入又無法更改php.ini 解決方案 BigDump

在MySQL中匯入資料庫的方式有很多種,其中一般比較不熟MySQL指令、或沒有伺服器管理權限的使用者,最常用的方式就是使用phpMyAdmin管理程式的匯入介面來上傳、匯入。不過如果你的「.sql」檔案超大的話,則很容易遇到伺服器的執行時間或檔案大小的限制,結果就是太大的「.sql」檔無法順利上傳、匯入到資料庫中。如果遇到這類情況,而你又沒有權限可以修改「php.ini」檔案中的設定的話,那該怎麼辦呢?

介紹一個相當實用的「BigDump」小工具,他可以幫我們將超大的「.sql」資料檔直接匯入到MySQL資料庫中,儘管你沒有權限修改「php.ini」組態檔中的「upload_max_filesize」或「max_input_time」…等設定值,也可以直接用「BigDump」這支小程式來完成超大資料庫的匯入工作。

重灌狂人這篇文章介紹的很詳細,也有詳細的
若有需要的冰友呀~請瀏覽下方網址

***

轉自:重灌狂人
標題:如何匯入大於2MB以上的MySQL資料庫? (BigDump)

網址:http://briian.com/?p=5102

[……]

閱讀更多