2009年10月21日 星期三

jQuery - colorbox

最近公司的案子又需要用到lightbox的效果
因為之前用的在IE6上的效果都不好,所以又找了另一個不錯用的套件 - ColorBox
這個是Jim大找到的,我覺得還不錯用
官網左側有五個範例連結,各有不同的開啟效果,可以參考看看想用哪一種
以下來簡略說一下使用方法:
首先當然是先把它掛進來 另外他也有提供外框圖檔,如果要改變位置時記得要同步修改css檔
再來是javascript的部份,以下僅舉兩例: 最後是HTML的部份 在實測過程中發現用IE6開啟iframe時,第一次會無法顯示透明底色,要滾動一下scrollbar才會顯示
於是Jim大網路搜尋了一下,剛好有人也發現這個問題,並且找到了修正方式(好心人啊~)
修正方式要直接修改它的jQuery程式,以下是修正方式: 其實主要是修改trigger的部份
修改過後在IE6上使用感覺真讚^^"

由於客戶的需求,希望在開啟box時要隱藏scrollbar
所以上網搜尋了一下資料,果然也有人需要此效果
在此也放上解決方式,而且IE6也可以使用喔

2009年10月13日 星期二

jQuery - cascade多重關聯式選單

最常用到的就是地址,通常地址包括了縣市、鄉鎮,所以會有兩個關聯式的下拉式選單
其實本來是要自己寫javascript,但是因為配合的PHP & Smarty,還真是給他不好處理
所以決定上網找一個jQuery來使用,於是找到了這個相關資料,趕快來記錄一下,免的下一秒就忘了^^"
這裡是官網  這裡是範例
依照他的範例,頁面上需要置放一些code,首先是把相關的jQuery套件放進來: 再來是設定option2的javascript HTML code jQuery code 這裡我只是用第一個範例來舉例說明,範例網站還有許多用法可以參考

2009年9月17日 星期四

JavaScript - 取得目前網址以及其他資訊

這是我在網路上看到的,記錄一下,原文章

假設現在我有個網頁,網址是:http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
如果這網頁上有以下JavaScript 程式碼 那該網頁會顯示:

2009年9月16日 星期三

MS SQL - 排序函數:ROW_NUMBER()、RANK() 與 DENSE_RANK()

這三個排序函數是MS SQL 2005之後的版本才有的,雖然公司寫的是PHP,但還是會遇到客戶使用MS SQL
然而最近遇到了排序會亂掉的問題,所以就上網搜尋了一下資料,於是在【旗標知識網】查到了一些很有用的資料,特別在此紀錄一下,希望【旗標】的大大不要生氣^^"

針對資料表的欄位進行排序
ROW_NUMBER() 可以依照指定的欄位將所有記錄進行排序, 然後再依照順利為每一筆記錄給 定一個序號,但如果指定的欄位資料一樣時,會依照其他依據來決定排名,因此名次不會相同。 以下是借用原文章的SQL語法 而 RANK()函數遇到相同的數值會給相同的排名, 其後的排名則會跳過。例如有三個第 2 名 時, 就不會有第 3 及第 4 名, 它會從第 5 名開始。RANK() 的用法與 ROW_UNMBER() 是類似的。 如果排名不想被自動跳過的話可以使用DENSE_RANK()函數。 指定查詢範圍
排序函數除了可以將所有記錄進行排序, 還能夠指定查詢第 M 筆到第 N 筆的記錄。我之前曾經寫過SQL 2000版本的語法,這裡我RANK()來撰寫,由於原文的例子似乎不是程式的語法,所以在這改用自己公司寫的例子來給大家看看 上面這個例子各位要注意一下inner join的位置,如果你是擺在最內層join的話,是沒問題的,但如果你像我一樣是擺在最外層才join,最後排出來的順序會亂跳,所以必須在最後加上order by 的語法將取得的資料排程你所需要的順序

2009年9月7日 星期一

jQuery - Curvy Corners讓div呈現圓角效果

網路上找到一個挺有趣的jQuery,可以在不使用圖檔的狀況下讓你的div外框呈現圓角
可以參考:http://blue-anvil.com/jquerycurvycorners/test.html
使用方法如下:

jQuery - css操作

很少用jQuery來設定css,特地上網搜尋到了以下資料,趕快來做一下筆記,希望對不小心來這的人也有幫助^^
jQuery提供了以下方法,來操作css:
background ()
background (val)
color()
color(val)
css(name)
css(prop)
css(key, value)
float()
float(val)
height()
height(val)
width()
width(val)
left()
left(val)
overflow()
overflow(val)
position()
position(val)
top()
top(val)

比較特別的是:css(name)、css(prop)、css(key, value)
css(name):取得name的樣式 css(prop):可以設定大量的css 會得到:<p id="b" style="background:blue; color:red">test</p>

css(key, value):設定單一css樣式

2009年8月8日 星期六

PHP - opendir 取得目錄下檔案

這個是在網路上看到的,也許以後用的到,就先留下來唄^^"

2009年7月17日 星期五

PHP - 使用parse_url, parse_str 來解析網址

由於工作上需要取得一串網址中的某個參數,所以上網搜尋了一下相關資訊,結果就找到parse_url這個函數
以下是此模組的官方說明 $component的部份包含PHP_URL_SCHEME, PHP_URL_HOST, PHP_URL_PORT, PHP_URL_USER, PHP_URL_PASS, PHP_URL_PATH, PHP_URL_QUERY or PHP_URL_FRAGMENT 接下來我們來看範例: 輸出結果: 接下來我們可以使用parse_str這個函數來取的query值,以下為範例:

2009年7月14日 星期二

PHP - 檔案上傳$_FILES error錯誤說明

使用PHP上傳檔案是非常方便的,相信用過ASP的人都有同感吧
但是無法上傳時就會需要取得錯誤資訊,我們可以使用以下方式印出上傳檔案的所有資訊 這時畫面上會秀出類似以下資訊 如果"error"不是0的時候,代表有問題,那麼我們就可以參考以下狀況 上面的錯誤資訊是網路搜尋來的,如有錯誤請盡快告訴我喔^^

2009年5月7日 星期四

ASP - 去除 HTML TAG

其實就是跟PHP的strip_tags一樣,以下是在網路上搜尋到的

2009年4月15日 星期三

Linux - crontab指令

最近需要設定到排程,因此上網搜尋了一下crontab的指令,也請教了公司同事,
以下是我蒐集並整理的資料,有發現錯誤的話,煩請不吝賜教^^

crontab可以設定每個用戶的工作排程
參數說明:
crontab -u USER file
crontab -u USER [-e | -l | -r]
           -e 編輯該用戶crontab
           -l 列出該用戶crontab
           -r 刪除該用戶crontab

舉例說明:
# crontab -e:編輯目前登入用戶的crontab設定
# crontab -u ice -e:編輯用戶ice的crontab設定

crontab文件的格式:M H D m d cmd
M: 分鐘(0-59)。
H:小時(0-23)。
D:天(1-31)。
m: 月(1-12)。
d: 一星期內的天(0~6,0為星期天)。
cmd要運行的程序

舉例說明:
#每5分鐘
*/5 * * * * cmd
#每小時
0 */1 * * * cmd
#每天早上9點與下午5點
0 9,17 * * * cmd

2009年4月3日 星期五

PEAR - QuickForm

QuickForm是PEAR建立表單的模組,方便設定表單的style與規則,直接看例子會比較清楚 以下是在網路上搜尋到的驗證規則表(原網址):
規則名稱 參數 規則描述
 required    必須輸入,不能為空
 maxlength  $length  最大字符長度
 minlength  $length  最小字符長度
 rangelength  $min,$max  字符長度的範圍
 regex  $rx  輸入的數據必須匹配給定的正則表達式
 email  true(forDNS heck)  驗證email地址的格式(有個可選的選項還可以查看域名是否有效)
 lettersonly    只能是英文字母
 alphanumeric    只能是英文字母或數字
 numeric    只能是數字
 nopunctuation    不能包含以下特殊字符: ( ) . / * ^ ? # ! @ $ % + = , " ' > < ~ [ ] { }.
 nonzero    不能為零
 compare    兩次輸入必須相同
 uploadedfile    表單元素必須包含正確上傳文件
 maxfilesize  $size  上傳文件的最大容量
 mimetype  $mime  上傳文件的類型,$mime可以是數組,則上傳文件的類型必須為其中一種
 filename  $file_rx  上傳的文件的名稱必須滿足給定的正則表達式

其中compare規則有點特殊,它是指兩個輸入欄位必須相同,例如密碼確認時。它的用法如下: 未完待續...

2009年4月2日 星期四

PEAR - MDB2

MDB2是PEAR連線資料庫的模組,以下是一般的用法 不過有問題的時候它顯示的錯誤訊息還真是給他清楚= ="
這時候可以在判斷連線DB的時候加上一段語法 這樣可以得到更多的訊息喔

2009年3月12日 星期四

MS SQL - IN and EXISTS

通常我們要取得某幾筆資料的時候都會使用IN(NOT IN)來當作WHERE條件
但是隨著資料庫愈來愈大時,使用IN(NOT IN)效率就會相對的降低
這時候我們可以使用另一個語法...EXISTS(NOT EXISTS)
我們直接用範例來說明,大家應該會比較清楚
以下為範例『 總共300筆資料,1頁20筆資料,第3頁 』的狀況表示SQL的主體原型 如果上面還看不是很懂,請看下面分解說明:
〝select top 60 pro_id,pro_name from product order by pro_id asc〞--假設為A。
這一段是表示一頁20筆,第三頁的狀況,所以總共要找出1~60筆的資料出來(20*3=60)。
〝select top 40 pro_id from product order by pro_id asc〞--假設為B。
這一段是表示一頁20筆,第三頁的狀況總共要找出1~40筆的資料出來(20*2=60)。
組合上列兩項結果套用在下列公式就非常簡易了。
【公式】總共資料範圍( A ) - 不要出現的範圍( B ) = 出現的範圍( 第3頁的20筆資料 )
【實作】select * from (A) aa where not exists(select 1 from (B) bb where aa.id=bb.id)

以上是借用Dr.陳與徐助教的範例
如有問題,請找他們...^+++++++++++++^

不過MS SQL 2005之後有出現新的語法 RANK() OVER
等我研究之後才放上來跟大家討論一下

2009年2月11日 星期三

ASP - 產生XML

使用了XMLDOM這個元件來寫產生XML文件的Class,以下是Class的內容 使用的範例 New.xml的原始碼 如果想找其他資料,可以去官網找,網站裡面還有許多XML的資源喔
XML Files.com

2009年2月1日 星期日

PHP - XML保留字

【<、>、%、"、'】這五個符號都算是XML的保留字
如果傳送的字串沒有用CDATA包起來的話就會發生錯誤
這裡有寫好一個簡單function,合用就拿去用吧 有更好了也請通知我喔!!

PHP - 截字

PHP截字方式有我查到目前有兩種方式:
1.字元長度
2.字元寬度
以下我們直接用寫好的function來作說明 第一種方式適合在全部都是中文或英文時,如果有中英文混合會發生長度相差很多的狀況,測試後我認為只是去依照文字編碼後算字數而已。
第二種方式在大部分的狀況都可以用,即使中英文混合也適用,它是用一個概略值讓所有截取的字串長度差不多。
以上是測試過後的結果,如果其他大大有發現錯誤,請盡快通知我喔!!感恩~

2009年1月19日 星期一

PEAR Image

如果沒有其他好用的縮圖軟體,可以用PEAR的套件來執行

到官網下載套件唄 PEAR::Image_Transform

2009年1月16日 星期五

PHP - 將陣列內容寫入資料庫

想要把陣列的內容寫入資料庫可不能直接寫入,可以使用serialize()這個function轉換後再寫入 不過想要從資料庫讀出內容也要處理一下,很簡單,只要使用unserialize()就可以了

PHP - 在shell script執行php

用shell執行php時也可以傳送參數到另一支php, 但是可不是用$_POST或$_GET來取值, 而是用$argv或$argc
舉例來說:
cron.php是要shell要執行的php
run.php是cron.php裡面要執行的php
程式內容如下: