最近公司的案子又需要用到lightbox的效果
因為之前用的在IE6上的效果都不好,所以又找了另一個不錯用的套件 - ColorBox
這個是Jim大找到的,我覺得還不錯用
官網左側有五個範例連結,各有不同的開啟效果,可以參考看看想用哪一種
以下來簡略說一下使用方法:
首先當然是先把它掛進來
另外他也有提供外框圖檔,如果要改變位置時記得要同步修改css檔
再來是javascript的部份,以下僅舉兩例:
最後是HTML的部份
在實測過程中發現用IE6開啟iframe時,第一次會無法顯示透明底色,要滾動一下scrollbar才會顯示
於是Jim大網路搜尋了一下,剛好有人也發現這個問題,並且找到了修正方式(好心人啊~)
修正方式要直接修改它的jQuery程式,以下是修正方式:
其實主要是修改trigger的部份
修改過後在IE6上使用感覺真讚^^"
由於客戶的需求,希望在開啟box時要隱藏scrollbar
所以上網搜尋了一下資料,果然也有人需要此效果
在此也放上解決方式,而且IE6也可以使用喔
2009年10月21日 星期三
2009年10月13日 星期二
jQuery - cascade多重關聯式選單
2009年9月17日 星期四
JavaScript - 取得目前網址以及其他資訊
這是我在網路上看到的,記錄一下,原文章
假設現在我有個網頁,網址是:http://functionlab.org:80/tools/tcpproxy.php?user=FUNction#showscript
如果這網頁上有以下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 的語法將取得的資料排程你所需要的順序
然而最近遇到了排序會亂掉的問題,所以就上網搜尋了一下資料,於是在【旗標知識網】查到了一些很有用的資料,特別在此紀錄一下,希望【旗標】的大大不要生氣^^"
針對資料表的欄位進行排序
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
使用方法如下:
可以參考: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樣式
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日 星期六
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值,以下為範例:
以下是此模組的官方說明 $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的時候,代表有問題,那麼我們就可以參考以下狀況 上面的錯誤資訊是網路搜尋來的,如有錯誤請盡快告訴我喔^^
但是無法上傳時就會需要取得錯誤資訊,我們可以使用以下方式印出上傳檔案的所有資訊 這時畫面上會秀出類似以下資訊 如果"error"不是0的時候,代表有問題,那麼我們就可以參考以下狀況 上面的錯誤資訊是網路搜尋來的,如有錯誤請盡快告訴我喔^^
2009年5月7日 星期四
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
以下是我蒐集並整理的資料,有發現錯誤的話,煩請不吝賜教^^
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與規則,直接看例子會比較清楚
以下是在網路上搜尋到的驗證規則表(原網址):
其中compare規則有點特殊,它是指兩個輸入欄位必須相同,例如密碼確認時。它的用法如下: 未完待續...
規則名稱 | 參數 | 規則描述 |
required | 必須輸入,不能為空 | |
maxlength | $length | 最大字符長度 |
minlength | $length | 最小字符長度 |
rangelength | $min,$max | 字符長度的範圍 |
regex | $rx | 輸入的數據必須匹配給定的正則表達式 |
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的時候加上一段語法 這樣可以得到更多的訊息喔
這時候可以在判斷連線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
等我研究之後才放上來跟大家討論一下
但是隨著資料庫愈來愈大時,使用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
XML Files.com
2009年2月1日 星期日
PHP - XML保留字
【<、>、%、"、'】這五個符號都算是XML的保留字
如果傳送的字串沒有用CDATA包起來的話就會發生錯誤
這裡有寫好一個簡單function,合用就拿去用吧 有更好了也請通知我喔!!
如果傳送的字串沒有用CDATA包起來的話就會發生錯誤
這裡有寫好一個簡單function,合用就拿去用吧 有更好了也請通知我喔!!
2009年1月19日 星期一
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
程式內容如下:
舉例來說:
cron.php是要shell要執行的php
run.php是cron.php裡面要執行的php
程式內容如下:
訂閱:
文章 (Atom)