Dec 28

繼上次那篇之後,我在各教學網站上打滾了很久,因為CI的分頁雖然很方便,但是不知道是不是使用的族群太少,一些比較複雜一點功能的文件真的是少的很可憐。像這次遇到分頁的問題就讓我進度卡到陰了一整個禮拜。

我們要弄的是在搜尋後,會將搜尋值keep在input box裡,並將結果顯示在下方表格裡,聽起來很簡單,但是做起來還蠻複雜的。

首先要將CI預設URI的//之前為空值會自動刪掉的部份做修改(以下轉自諾魯島)。 → /system/libraries/URI.php

//1. 註解掉 function _fetch_uri_string 中的

$path = (isset($_SERVER)) ? $_SERVER : @getenv(‘PATH_INFO’);

//2. 在該行下面加入

$path = ”;
if (isset($_SERVER) && isset($_SERVER)) {
$path = str_replace($_SERVER, ”, $_SERVER);
} else {
$path = @getenv(‘PATH_INFO’);
}

//3. 將 function _explode_segments() 中的 if ($val != ”) 註解掉

這段改好之後,你在controller裡加上的$var/就不會因為空值被刪掉,再來,就是中文顯示的問題。
因為CI內建的一些功能沒有限制很多,所以也建議不要寫死(上述那個有用到再改,目前還不知道怎麼拉出來做),在中文設定上自己建一個MY_URI(要在網址列上傳中文)。

class MY_URI extends CI_URI {
function _filter_uri($str)
{
if ($str != ” && $this->config->item(‘permitted_uri_chars’) != ” && $this->config->item(‘enable_query_strings’) == FALSE)
{
$str = urlencode($str); //編碼(解決url中文字問題)
if ( ! preg_match(“|^[".str_replace(array('\\-', '\-'), '-', preg_quote($this->config->item('permitted_uri_chars'), '-'))."]+$|i”, $str))
{
show_error(‘The URI you submitted has disallowed characters.’, 400);
}
$str = urldecode($str); //解碼
}

// Convert programatic characters to entities
$bad = array(‘$’, ‘(‘, ‘)’, ‘%28′, ‘%29′);
$good = array(‘$’, ‘(’, ‘)’, ‘(’, ‘)’);

return str_replace($bad, $good, $str);
}
}

這樣就可以解決中文問題。分頁的部份目前是解決了一大半,還好同事有看到這篇文章,不然應該還是卡在那邊了 囧>

參考網站:諾魯島

Dec 11

好吧~我知道我又很久沒更新了,因為我也一個月沒碰到code,這一個月我都在QC,眼睛都花了!今天碰到久圍(?)的code感覺好親切(喂),不過今天只是做個開頭的筆記,因為我對Framework感到很害怕不熟,看了一下還是很害怕不太懂,所以特此做個開頭的筆記,好讓自己以後有地方可以快速查資料。

相關網站:CodeIgniter非官方繁體中文討論區CodeIgniter使用手冊1.7.2小惡魔 – 電腦技術 – 生活日記 – 美食介紹 – AppleBOY

Dec 03

雖然現在瀏覽器是百家爭鳴的局面,但大宗還是以IE為主,沒辦法誰叫WINDOWS一出場就是包有IE呢(攤手)。

因為最近在玩Google Wave,所以會去試哪些瀏覽器比較好用,這東東當然還是首推Google Chrome(自家瀏覽器有做Java效能最佳化嗎~),但是用Chrome、FireFox這類的瀏覽器麻煩的地方就在於如果該網頁是IE Only的話,該怎麼辦?FireFox有IE tab,那Chrome呢?

最近在逛別人的blog文章留言時發現了這個好站,提供了很多Chrome的plug-in,很多人還是會選FireFox的原因就是因為Chrome不像FF一樣有自主性的擴充套件。但在這個站有提供for Chrome的IE tab,不過這個網站是非Google官方的,且版本要是4.0以上(也就是開發版),要不要用就自己決定囉。

這裡安裝Chrome IE tab(只適用4.0以上的版本)

相關網站:Google Chrome Extensions(裡面都是英文,如果得了看到英文就會死的病請不要進入)
參考文章:重灌狂人 Chrome Plus

Nov 25

好好好,就說是筆記了,這東西我相信SQL有認真上課的人都會知道不認真的話就會跟我一樣

示範如下:

SELECT Distinct [欄位名稱] FROM [資料表]

這個語法的好處是可以讓你馬上把一堆重覆的筆數去掉,好讓你可以用這語法撈出來的資料去做join這類的篩選動作。要注意的是,若接著SELECT DISTINCT後面有指定兩個以上的欄位,則要符合所有欄位值皆同樣重複的情況下該筆資料才會被捨棄(若只有其中一個欄位值相同但其它欄位值並不同,則仍會取出該筆資料。)。簡單來說,如果要做多個欄位的話,只有一個欄位是重覆的情況下,是沒用的。

參考網站:SQL教學

Nov 23

先感謝魚大給我邀請讓我進入Google Wave世界,至於那些功能強大、像Gmail之類的話網路上很多我就不說了,在這邊是要講Google Wave也是會有跟自家人不合的時候(哈)。

使用Chrome 4.0 以上的版本

我之前有在玩Chrome(外掛翻譯、選取文字可用超連結or搜尋等),要用4版以上的開發版本才可以玩這些外掛,現在不知道是不是2版的也可以支援就是,總之就是用4版的在中文輸入上會有很明顯的問題。

再來是介紹FireFox專用的Google Wave外掛,只是用來檢查你的Wave是否有更新之類的,個人覺得還不錯,點這裡進來安裝就可以了。

Nov 18

剛剛在Jas9 Taipei.上看到這個新東西Google Image-swirl

跑去玩了一下感覺還蠻新奇的,看網誌上的介紹有結合Picasa臉部辯識以及Google Similar Images,個人認為在圖片搜尋、顯示上速度並不慢,有興趣的朋友可以去玩玩看

相關連結:Jas9 Taipei.Google Image-swirlGoogle Similar ImagesPicasa

Nov 13

對,這篇是不務正業文最近邊弄程式邊找範例啃食(?),程式的邏輯回來了一半,但還處於很混亂的狀態不過這對接下來的東西完全沒有關係

.htaccess這東西對我來講超陌生,因為我是第一次知道這玩意(say hellow?),不過相繼看了幾個網站後,發現這東西還不錯用的感覺,至少在身份認證方面上應該很多人就會知道(謎之網站?),我看了幾個不錯的介紹網站,寫的算是淺顯易懂,推薦給大家看看。還有好用的線上編輯工具。

相關網站:台灣深藍vBulletin技術論壇梅問題-教學網
相關工具:.htaccessEditor

Nov 12

最近被這玩意搞的有點頭大,因為PHP的函數用法跟JS的函數用法有一些些的不同雖然只是一個substr(),不過在多次尋求google解答以及熱心同事的幫助下終於完成了這項不可能的任務。

stnum及etnum是客戶輸入的日期,被檢核用

// 建立系統日期
var objDate = new Date();
var year = objDate.getYear();
var month = objDate.getMonth()+1;
var day = objDate.getDate();
// 轉換被檢核日期為數值型態
var get1year = parseInt(stnum.substr(0,4),10);
var get1month = parseInt(stnum.substr(4,2),10);
var get2year = parseInt(etnum.substr(0,4),10);
var get2month = parseInt(etnum.substr(4,2),10);

/* 起始日期檢核 */
if( year == get1year ) { /* 本年度檢核 */
if( ( month – get1month ) >= 3 ) {
return false;
}
}else if( year > get1year ) { /* 跨年度檢核 */
if ( ( year – get1year ) == 1 ) {
var a1 = 12 – get1month;
/* 相加大於等於3個月就不行 */
if( ( month + a1 ) >= 3 ) {
return false;
}
}else{
return false;
}
}
/* 迄值日期檢核 */
if( year == get2year ) { /* 本年度檢核 */
if( ( month – get2month ) >= 3 ) {
return false;
}
}else if( year > get2year ) { /* 跨年度檢核 */
if ( ( year – get2year ) == 1 ) {
var a2 = 12 – get2month;
/* 相加大於等於3個月就不行 */
if( ( month + a2 ) >= 3 ) {
return false;
}
}else{
return false;
}
}

參考網站:【卜維丰】

Nov 07

今天主要就是說這個Lockerz.com,這個站已經提供全球的使用者換站上的東西啦~像是Mac book Air這種3C類的產品,或是MP3、液晶電視、iPhone等,還有TV Game的遊戲也有,這個站的東西真的很多,已經陸陸續續有人貼出換到東西的照片啦!使用者第一次登入有遊戲可以玩(之後就沒有了),每天上站2點、回答問題2點和邀請朋友2點,邀請滿20人,獲得點數就加倍~~

這個網路是會員邀請制(跟gmail當初一樣),有我msn的直接敲我就可以啦~~
有興趣的可以到這裡輸入你的mail,我會儘快寄邀請給你~~

Nov 06

好久沒寫blog,還真的點不習慣話說封印了很久的愛幻想個性最近似乎覺醒恢復了,不斷的有新點子冒出來,其實在當兵這段期間我都儘量不讓自己亂想,因為在裡面又沒電腦可以寫程式,何必這麼天馬行空的亂想咧,雖然之前的點子也沒寫出來過

我最近試著把想出來的東西慢慢去寫,但過程上遇到很多瓶頸,雖然現在在這間公司也是QC兼寫PHP寫PHP兼QC,但其實沒有太多時間去了解公司的code在幹嘛?因為我們的工作都是有時效性的所以我現在積了10項逾期案件在身上

這次的東西不只是想寫出來讓大家用,也是練習寫出屬於自己的作品,當然,美工方面得靠風子,這方面他比我專業。

preload preload preload

Bad Behavior has blocked 10 access attempts in the last 7 days.