You are here: 首頁 文章分類選單

飛朵啦學習手札

本網站建議使用Firefox2.0以上,或是使用Goole瀏覽器來瀏覽,並使用1024x768解析度來觀看.

飛朵啦學習手札

04

關於分頁的別種寫法

E-mail 列印 PDF

分頁原本都會用

SELECT COUNT(*) FROM ... WHERE ....

SELECT ... FROM ... WHERE LIMIT ...

MYSQL的話可以用SQL_CALC_FOUND_ROWS

SELECT SQL_CALC_FOUND_ROWS ... FROM ... WHERE LIMIT ...

在得到数据后,通过FOUND_ROWS()可以得到不带LIMIT的结果数:

SELECT FOUND_ROWS()

但聽說效率比較慢http://hi.baidu.com/thinkinginlamp/item/b122fdaea5ba23f614329b14

-------------------------------------------------------------------------

至於orcal或postgre可以用 COUNT(*) OVER()來組成分頁

SELECT *,COUNT(*) OVER() AS FULLROWCOUNT FROM ... WHERE ... LIMIT

 

 

最近更新 ( 週四, 04 十月 2012 14:35 )
 
 
01

[轉貼]php 將數字補零 使用str_pad

E-mail 列印 PDF

用php 補零去google

會找到有些使用sprintf函式的方法 像下面這樣
$var = 1;
echo sprintf("%02d", $var);
其實php本身就有一個專門可以補齊位數的函式 : str_pad()
string str_pad ( string $input , int $pad_length [, string $pad_string= " " [, int $pad_type= STR_PAD_RIGHT ]] )
$input : 原字串
$pad_length : 補齊後的位數
$pad_string : 用來補齊的字串
$pad_type : 補齊的方式 有三種,STR_PAD_RIGHT (由右邊補)、STR_PAD_LEFT (由左邊補)、STR_PAD_BOTH (左右兩邊都補), 預設為STR_PAD_RIGHT
所以其實不只可以補零,要補什麼字都可以
而以補零來舉例的話就是
$value = 7;
//將數字由左邊補零至三位數
$value = str_pad($value,3,'0',STR_PAD_LEFT);
echo $value;
// 結果會印出 007;
//下面這是document裡的例子
$input = "Alien";
echo str_pad($input, 10);                      // produces "Alien     "
echo str_pad($input, 10, "-=", STR_PAD_LEFT);  // produces "-=-=-Alien"
echo str_pad($input, 10, "_", STR_PAD_BOTH);   // produces "__Alien___"
echo str_pad($input, 6 , "___");               // produces "Alien_"
這樣應該就可以瞭解這個函式的用法了~
最近更新 ( 週一, 01 十月 2012 16:46 )
 
 
14

[轉貼]利用PHPExcel,輸出Excel

E-mail 列印 PDF

關於PHPExcel的一些講解 蠻詳細的

http://www.ewebsite.com.tw/docs-blog/article-33

http://merry05.blog.hexun.com.tw/64300210_d.html

http://mrbignose.blogspot.tw/2010/02/phpphpexcelexcel.html

最近更新 ( 週二, 14 八月 2012 11:15 )
 
08

計算文字在HTML中的顯示寬度

E-mail 列印 PDF

我自己寫的js版參考以下文章做出的

http://www.rupeng.com/innersupesite/index.php/7/viewspace-583

JS版:

function arial_strlen(val, word_length){

var lencounter=0;

var sub_str = 0;

for (var i = 0; i < val.length; i++) {

if(ck_null(word_length) != '-'){

if(Math.ceil(lencounter*2) >= word_length){

return sub_str;

}

}

ch = val.substr(i,1);

 

var char_050 = ",./;'[]=-/*-!@#$%^&*()_{}:\"<>?1234567890fijlrIt";

 

asc_ch = ch.charCodeAt();

//if(ord(ch)>128){

if (ch.match(/[^\x00-\xff]/ig) != null){

lencounter++;

}else if(char_050.indexOf(ch) != -1){

lencounter+=0.5;

}else if(asc_ch>=48 && ch<=57){

lencounter+=0.55;

}else if(asc_ch>=97 && asc_ch<=122){//a~z

lencounter+=0.55;

}else if(asc_ch>=65 && asc_ch<=90){//A~Z

lencounter+=0.8;

}else{

lencounter++;

}

sub_str++;

}

return Math.ceil(lencounter*2);

}

 
更多文章...
第 10 頁, 共 27 頁