2009年9月17日 星期四

[php]刪除陣列內相同的值

在PHP函式庫裡array_unique()可以達成刪除陣列內相同值之目的。
但是!我們來看一下說明

array_unique --- 從陣列移除相同的值

語法 : array array_unique (array array)

說明 :

Array_unique( )取輸入的陣列array且傳回沒有相同的值的陣列。索引會被保留(preserved)
意思就是他挖的洞就留在那邊= =
所以直接將陣列輸出的話,會得到很多的空列,因此我們要搭配另一個函式array_values()。

array_values --- 傳回陣列所有的值

語法 : array array_values(array input);

說明 :

此函式從陣列array傳回所有的值。

它回傳的仍是一個陣列喔,但是它只把有值的部分傳出,如此便能得到沒有洞的陣列囉。

for($i=0;$i<100;$i++){
$a[$i] = rand(0,300);
}
$b = array_values(array_unique($a));

2009年9月16日 星期三

[jQuery]網頁部分列印--jqPrint

『不想整面列印,只想印部分範圍嗎?』

jqPrint是跟據之前jPrintArea改寫的,兩者皆是jQuery的plugin,後者目前已停止提供下載了。

網頁載入jquery.js及jqprint.js後可依下面指令達成部分列印

$('#divTest1').jqprint();


利用$('#printDivId')可印出指定ID的DIV內容,如下例

<\div id="divTest1">I'll be printed.<\/div>
<\script>$('#divTest1').jqprint();<\/script>


另外,jqPrint可針對CLASS進行群組列印

<\div id="divTest1" class="printMe">I'll be printed.<\/div>
<\div id="divTest2" class="printMe">I'll be printed too!<\/div>
<\script>$('.printMe').jqprint();<\/script>

參考網頁
  • http://plugins.jquery.com/project/jqPrint
  • http://www.recoding.it/?p=138
  • http://www.recoding.it/wp-content/uploads/demos/jqprint-demo.htm
  • http://www.bennadel.com/index.cfm?dax=blog:1591.view

2009年9月15日 星期二

[SQL]distinct

SELECT DISTINCT s_id, id ,name, phone,address FROM users WHERE id>200
-->所有欄位皆不相同才會被移除
SELECT COUNT(DISTINCT s_id), id ,name, phone,address FROM users WHERE id>200
-->會呈現"一筆"告訴你有幾組不同s_id的資料
SELECT COUNT(DISTINCT s_id), id ,name, phone,address FROM users WHERE id>200 GRUOP BY s_id
-->以s_id分組呈現許多筆資料,且s_id相同的便會被移除

用COUNT只是一種手段,實際上我們也沒真要算有多少不同組,只是藉此對指定欄位做distinct,使用GRUOP BY是使資料分開來呈現,不然只會得到"一筆"資料。

DIV橫向置中

div{
text-align:center;/*IE*/
width:600;
margin:auto;
*width:auto;/*IE*/
*margin:0;/*IE*/
}


嚴格來說IE並不是把DIV置中,而是其中元素在DIV內置中,未設置width時DIV為整列,元素在"整列"上置中。
火狐則是明確利用width及左右margin來達到DIV置中。

*firefox不接受*width寫法