2011-07-30
1、用PHP處理復(fù)選框和多選下拉框
網(wǎng)站建設(shè)時(shí)ASP中使用Checkbox是很方便的,同組的幾個(gè)Checkbox可以起一樣的名字,表單提交后會(huì)得到一串用逗號(hào)分割的值。但PHP不是這樣,如果一個(gè)表單中有多個(gè)同名復(fù)選框,在提交到php時(shí)卻只有一個(gè)值。解決的方法是利用數(shù)組。將復(fù)選框的name后面加上[],例如:
這樣php將得到一個(gè)叫g(shù)roup的數(shù)組。在提交的表單中先用Count(group)來(lái)判斷數(shù)組的個(gè)數(shù)即選中的個(gè)數(shù),然后對(duì)數(shù)組元素進(jìn)行分別處理就行了。同樣的道理也適用于下拉框的多選問題。例如:
2、利用static實(shí)現(xiàn)表格的行背景色輪換
我們用PHP從數(shù)據(jù)庫(kù)查詢數(shù)據(jù),并將結(jié)果輸出到瀏覽器上,如果結(jié)果有很多行,一般都會(huì)用表格形式來(lái)顯示。此時(shí)如果表格的bgcolor(背景色)如果全是一個(gè)顏色,瀏覽者會(huì)感覺不太舒服。那么怎樣做使表格各行的顏色不同呢?請(qǐng)看下面代碼:
function getcolor() 
{ 
  static $colorvalue;//定義一個(gè)靜態(tài)變量 
  if($colorvalue=="#EEEEEE") 
    $colorvalue="#F0F0F0"; 
  else 
    $colorvalue="#EEEEEE"; 
  return $colorvalue; 
} 
echo "";//下面輸出10行 
"; 
for($i=0;$i<10;$i++) 
{ 
  $bcolor=getcolor();//換背景顏色 
  echo "";  "; 
  echo "$i "; 
  echo "
} 
echo "
?>  
說明:  3、在字符串中把網(wǎng)址改成超級(jí)鏈接 在網(wǎng)頁(yè)中提交表單時(shí),經(jīng)常在提交的說明文本中出現(xiàn)一些網(wǎng)址,比如個(gè)人主頁(yè)等信息,如果在顯示時(shí)自動(dòng)將其轉(zhuǎn)為超級(jí)鏈接,那將是一件很愜意的事,就像用WORD編輯文檔時(shí)自動(dòng)出現(xiàn)超級(jí)鏈接一樣。下面這段代碼就很好的實(shí)現(xiàn)了其功能。
此程序中定義了一個(gè)靜態(tài)變量static $colorvalue意思是在函數(shù)調(diào)用結(jié)束后,此變量$colorvalue還保留值,沒有消失。當(dāng)再次調(diào)用getcolor()函數(shù)時(shí),變量$colorvalue的值是上次函數(shù)調(diào)用結(jié)束時(shí)$colorvalue的值。
而在Smarty模板中則可以使用cycle來(lái)更加輕松地實(shí)現(xiàn),例如只需要在模板文件的相應(yīng)位置使用:
這樣的語(yǔ)句就可以實(shí)現(xiàn)上面的功能了。
  $string = "鏈接到Jaddy的開發(fā)網(wǎng)http://www.zsin.net 站點(diǎn)"; 
  //注意:鏈接后需要有個(gè)空格或回車。 
  $string = eregi_replace("http://([^ ,\r\n]*)","\\0",$string); 
  $string = eregi_replace("ftp://([^ ,\r\n]*)","\\0",$string); 
  echo $string; 
?>