whatup 的 blog

Feed Rss

在官方的Pagination Class 中, 用 page 的參數來控制本頁目前的起始行數。但範例裡面使用的方法如下:

</p>
<p>$this-&gt;load-&gt;library('pagination');</p>
<p>$config['base_url'] = 'http://example.com/index.php/test/page/';<br />
$config['total_rows'] = 200;<br />
$config['per_page'] = 20;</p>
<p>$this-&gt;pagination-&gt;initialize($config);<br />

所以原始的方法所產生的 url 就是 http://example.com/index.php/test/page/{row number} 這種格式。在參數是固定長度下,你可以輕易的知道在第幾個位置是分頁的依據,即可以使用 $config['uri_segment'] 來指定位置。

但如果參數為不固定數量,哪怎麼辦?使用 uri_segment 就沒有作用了,因為你也不知道第幾個位置是起始行數,而且起始行數只會加在 url 的最後面。

下面提供一個方法可以 override 掉原先的目前所抓取的起始行數的方法。

<br />
$this-&gt;load-&gt;library('pagination');</p>
<p>// 中間可以加很多的東西,但 page 一定要放在最後面<br />
$config['base_url'] = 'http://example.com/index.php/test/'.blalbala.'/page/';<br />
$config['total_rows'] = 200;<br />
$config['per_page'] = 20;<br />
// 新增下面的程式。<br />
$config['uri_segment'] = 0; // 不指定 row 的 url 位置<br />
$q = $this-&gt;uri-&gt;uri_to_assoc(3); // 把目前的參數轉成array<br />
$config['cur_page'] = $q['page']; // override 目前的 row</p>
<p>$this-&gt;pagination-&gt;initialize($config);</p>
<p>echo $this-&gt;pagination-&gt;create_links();

這樣你的參數的長度就不需要固定了。這對於帶入參數的 search ,或是 list 的頁面,在使用上較為方便,也不用作什麼 dirty hack。

actos price

這幾天在把一個程式作 PHP 5.2 轉換到 PHP 5.3 的環境下,發現以前有一個 zend_get_parameters_ex 已經被 deprecated 了。

Example:


zend_get_parameters_ex( 1 , &arg1 )

簡單一點的改法就是把他改使用 zend_parse_parameters 這個 method 。

Example :


zend_parse_parameters(  ZEND_NUM_ARGS() TSRMLS_CC , "sz" , &arg1, &arg1_len, &arg2)

這個 function 比較方便,也可以不用把 zval 轉成 c 所需要的型態,可以直接放入原有的參數型態,像使用 char or long 一些原生參數就方便多了。

Old Method Example:


zval **arg1;
std::string str;
zend_get_parameters_ex( 1 , &arg1 ) ;
convert_to_string_ex( arg1 );
str = Z_STRVAL_PP( arg1 );

New Method Example:


char *arg1;
int arg1_len;
std::string str;
zend_parse_parameters(  ZEND_NUM_ARGS() TSRMLS_CC , "s" , &arg1, &arg1_len);
str = string(arg1);

在 MAC 上找了許多支援 msn 的軟體,後來發現最實用的只有 Mercury ,傳檔、視訊、自定圖片、和離線訊息都可以使用。但是他的通知都是醜醜的自訂通知方式。後來在官網上找到了支援 growl 的方式,方法如下:

  • 下載下列二個檔案,並且放置於 application 下的 mercury 裡面。
    Growl.jar放到 directory/lib/Growl.jar 。
    libgrowl.jnilib 放到 directory/libgrowl.jnilib
  • 編輯 info.plist 把 Growl.jar 新增至 classpath
  • 在聊天的對話框裡輸入 /setglobal growl.impl jni
  • Restart

完成上面的步驟後,就可以找到美美的通知了。

參考文章:Growl jni

buy augmentin online

之前非常多的同事在更換電腦時,就換了 Mac Book Pro ,另外我也看到了一篇文章說在討論「為什麼我用Mac」。所以我非常的好奇, MAC OS X到底有什麼魔力可以讓這些人讚不絕口。在前些日子裡,我就有聽說在 pc 上其實是可以裝 MAC 的,但最主要的問題還是硬體支援的問題。所以下面我列出我所使用的硬體,而CPU、主機板、和顯示卡為三個最重要的要素,如果你的這三個硬體有 MAC OS X 支援的話,在安裝上就沒有太大的問題了。

第一步:準備硬體
我所使用的硬體如下:

第二步:準備軟體
所需要的軟體如下:

並且把 iboot 燒錄成 CD 等等要拿他來作為開機使用。

第三步:設定 bios
依照「How to Install Mac OS X on a PC (Without Using a Mac)」這篇所示所需更改的 bios 選項如下:

  • 把 cdrom 改為第一個開機選項。
  • 進入 Integrated Peripherals 選單,把 PCH SATA Control Mode 和 Onboard SATA/IDE Ctrl Mode 都改為 ACHI 。
  • 接著進入 Power Management Setup 選單,把 HPET Mode 調成 64-bit 模式。

第四步:安裝 MAC OS X
將剛剛燒好的 iboot 光碟放入光碟機中,然後先利用他作為光碟開機。看到 iboot-supported 畫面出現後,把 iboot 光碟拿出來,放入原板 Snow leopard DVD 進去,接著等三到五秒,然後按 F5 。你就會看到安裝的選項跑出來了。其他的安裝方式其實就下一步一直按而已,沒有很難。安裝後第一次開機,請記得使用 iboot 片來作為開機片,否則會出現錯誤。

第五步:安裝 boot loader & drivers
如果你的硬體跟我一樣,哪其他的步驟就照著我所說的選擇就好了,如果不一樣,可能就要上 「OSx86 Project」找看看別人怎麼選驅動程式。

  • 下載 MultiBeast
  • 下載 DSDT for the Gigabyte GA-H55M-USB3,然後改名為 DSDT.aml 並且放置於桌面上,等等開啟 multi beast 時才會自動抓到。
  • 開啟 mult beast ,並且選擇下列這些選項:
    • UserDSDT
    • System Utilities
    • Advanced Options > Kexts > Audio > LegacyHDA > ALC889
    • Advanced Options > Kexts > Graphics > NVEnabler
    • Advanced Options > Kexts > Network > RealtekR1000SL
    • Advanced Options > Patched Kernels > 10.3.1 Supported Kernel

    安裝完後,重新開啟,你就可以快快樂樂開開心心的使用黑金塔了!!

    在剛開始不習慣使用 MAC 的情況下,很多的思維可能不一樣,想找個偏好設定都找不太到,現在越來越順手了,以後再分享一些心得出來。

    參考網址: