php語言開發(fā)技巧先容
1、用PHP處理復(fù)選框和多選下拉框
網(wǎng)站制作時ASP中使用Checkbox是很方便的,同組的幾個Checkbox可以起一樣的名字,表單提交后會得到一串用逗號分割的值。但PHP不是這樣,假如一個表單中有多個同名復(fù)選框,在提交到php時卻只有一個值。解決的方法是利用數(shù)組。將復(fù)選框的name后面加上[],例如:
<input type='checkbox' name='group[]' value=1>
這樣php將得到一個叫g(shù)roup的數(shù)組。在提交的表單中先用Count(group)來判定數(shù)組的個數(shù)即選中的個數(shù),然后對數(shù)組元素進行分別處理就行了。同樣的道理也適用于下拉框的多選題目。例如:
<select name="group[]" size="10" multiple>
終極就可以用數(shù)組來處理多個選擇結(jié)果。
2、利用static實現(xiàn)表格的行背景色輪換
我們寧波親子網(wǎng)用PHP從數(shù)據(jù)庫查詢數(shù)據(jù),并將結(jié)果輸出到瀏覽器上,假如結(jié)果有很多行,一般都會用表格形式來顯示。此時假如表格的bgcolor(背景色)假如全是一個顏色,瀏覽者會感覺不太舒服。那么怎樣做使表格各行的顏色不同呢?請看下面代碼:
<?php
function getcolor()
{
static $colorvalue;//定義一個靜態(tài)變量
if($colorvalue=="#EEEEEE")
$colorvalue="#F0F0F0";
else
$colorvalue="#EEEEEE";
return $colorvalue;
}
echo "<table border=1>";//下面輸出10行
for($i=0;$i<10;$i++)
{
$bcolor=getcolor();//換背景顏色
echo "<tr bgcolor=$bcolor>";
echo "<td>$i</td>";
echo "</tr>";
}
echo "</table>";
?>
說明:
此程序中定義了一個靜態(tài)變量static $colorvalue意思是在函數(shù)調(diào)用結(jié)束后,此變量$colorvalue還保存值,沒有消失。當再次調(diào)用getcolor()函數(shù)時,變量$colorvalue的值是上次函數(shù)調(diào)用結(jié)束時$colorvalue的值。
而在Smarty模板中則可以使用cycle來更加輕松地實現(xiàn),例如只需要在模板文件的相應(yīng)位置使用:
<tr bgcolor="{cycle values="#EEEEEE,#F0F0F0"}">
這樣的語句就可以實現(xiàn)上面的功能了。
3、在字符串中把網(wǎng)址改成超級鏈接
在網(wǎng)頁中提交表單時,經(jīng)常在提交的說明文本中出現(xiàn)一些網(wǎng)址,比如個人主頁等信息,假如在顯示時自動將其轉(zhuǎn)為超級鏈接,那將是一件很舒服的事,就像用WORD編輯文檔時自動出現(xiàn)超級鏈接一樣。下面這段代碼就很好的實現(xiàn)了其功能。