08 Mar 2010 @ 11:41 AM 

我知道CI有專屬的中文教學網站,不過個人是覺得因為他是一個細節一個細節拉出來講,比較適合當作工具來用,所以在此記錄一下這網站開發的第一步。

首先將 system 和 index.php 放到網站的根目錄下,這樣直接連進 http://網站.com/index.php 就可以看到歡迎畫面了

–以下使用範例跟中文教學網內的影片一樣–
再來是修改的第一步,首先建立一個 blog.php 到 system/application/controllers/
為了符合MVC的設計原則,凡事屬於控制性質(controllers)的code我都是丟進controllers裡運作

<?
class Blog extends Controller {

	function index() {
		echo "Hello world!!";
	}
}
?>

建立好後,輸入http://網站.com/index.php/blog (注意是小寫,以檔名為主),就可以看到Hello world!!的字樣出現

如果你要把他設為首頁,也就是不要再加個blog才看的到,可以到 system/application/config/routes.php 裡

/* 將下面這個參數設定改成這樣 */
$route['default_controller'] = "blog";

之後直接輸入 http://網站.com/index.php 就可以看到跟 http://網站.com/index.php/blog 一樣的結果了。

Posted By: fantasy
Last Edit: 08 Mar 2010 @ 11:42 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 11 Feb 2010 @ 11:08 AM 

基本上,最近貼的有關於核取方塊的code都可以結合在一起

//全選後取消其中一個時全選方塊也取消
function check_box(obj,fld) {
	var checkboxs = document.getElementsByName(fld);
	var check = 0;
	for (var i = 1; i < checkboxs.length; i++) {
			if(checkboxs[i].checked == true) check++;
	}
	if(checkboxs.length != check) {
		checkboxs[0].checked = '';
	}
	if(checkboxs.length == (check+1)){
		checkboxs[0].checked = true;
	}
}

接著加在”非全選核取方塊裡”

<input type="checkbox" name="select[]" id="select[]" onclick="check_box(this,'select[]');" value="1"/>
Posted By: fantasy
Last Edit: 11 Feb 2010 @ 11:08 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 10 Feb 2010 @ 6:02 PM 

此方法可以結合上一篇的用法,達到一些網路問卷的效果。

//全取消時確認按鈕不可按
function check_all(obj,fld) {
	var checkboxs = document.getElementsByName(fld);
	var check = 0;
	for (var i = 0; i < checkboxs.length; i++) {
			if(checkboxs[i].checked == '') check++;
	}
	if(checkboxs.length == check) {
		document.getElementById('check').disabled = true;
	}else{
		document.getElementById('check').disabled = false;
	}
}

加入要觸發事件的物件內(全選的核取方塊)

<input type="checkbox" name="select[]" id="select[]" value="all" onclick="check_all(this,'select[]');" />

被擉發事件的按鈕

<input type="button" class="btn_bg" name="check" id="check" />

為什麼不用getElementsByName而用getElementById呢?
我在用getElementsByName的時候會抓不到這個button,一改用getElementById就抓到了,很神奇,不要問

Posted By: fantasy
Last Edit: 11 Feb 2010 @ 10:12 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 10 Feb 2010 @ 5:57 PM 

最近弄比較多js的部份,所以把常忘記的部份記錄一下

一樣在頁首加上這段

function select_all(obj,fld) {
	var checkboxs = document.getElementsByName(fld);
	for (var i = 0; i < checkboxs.length; i++) {
			checkboxs[i].checked = obj.checked;
	}
}

然後在要觸發的事件上加入function name(比方說全選的chcek box)

<input type="checkbox" name="select[]" id="select[]" value="all" onclick="select_all(this,'select[]');" />
Posted By: fantasy
Last Edit: 10 Feb 2010 @ 05:58 PM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 10 Feb 2010 @ 9:14 AM 

很久沒更新這了,一天到晚被進度追著跑,又卡到陰到瓶頸了...

首先在頁首加上這段code,它會去判斷頁面上”SysActionFrm”這個form裡所有type為radio的物件,然後改為空值,也就是不選取的意思

<script type="text/javascript">
function clear_all() {
	for (var i = 0; i < SysActionFrm.elements.length; i++) {
		if (SysActionFrm.elements[i].type == 'radio') {
			SysActionFrm.elements[i].checked = '';
		}
	}
}
</script>

接著在按鈕上加入onclick觸發clear_all()事件

<input type="button" name="search" class="btn_bg" onclick="clear_all();"/>
Posted By: fantasy
Last Edit: 10 Feb 2010 @ 09:15 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 28 Dec 2009 @ 3:42 PM 

繼上次那篇之後,我在各教學網站上打滾了很久,因為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);
}
}

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

參考網站:諾魯島

Posted By: fantasy
Last Edit: 10 Feb 2010 @ 09:00 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 11 Dec 2009 @ 4:17 PM 

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

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

Posted By: fantasy
Last Edit: 11 Dec 2009 @ 04:17 PM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 03 Dec 2009 @ 3:40 PM 

雖然現在瀏覽器是百家爭鳴的局面,但大宗還是以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

Posted By: fantasy
Last Edit: 03 Dec 2009 @ 03:40 PM

EmailPermalinkComments (0)
Tags
Categories: 資訊雜談

 25 Nov 2009 @ 2:38 PM 

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

示範如下:

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

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

參考網站:SQL教學

Posted By: fantasy
Last Edit: 10 Feb 2010 @ 09:03 AM

EmailPermalinkComments (0)
Tags
Categories: 程設不歸路

 23 Nov 2009 @ 2:29 PM 

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

使用Chrome 4.0 以上的版本

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

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

Posted By: fantasy
Last Edit: 23 Nov 2009 @ 02:29 PM

EmailPermalinkComments (0)
Tags
Categories: 資訊雜談





 Last 50 Posts
 Back
 Back
Change Theme...
  • Users » 4
  • Posts/Pages » 130
  • Comments » 6
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

生活大小事



    No Child Pages.

程式設計



    No Child Pages.