我遇到着色交替錶行的問題。交替着色問題
print '<tr '.if(childnum%2==0){.'bgcolor="#CCFFCC">'.} else {.'bgcolor="#990000">'};
這將導致以下錯誤:「Syntax Error, unexpected T_IF in /home/ on line [...]
」
我遇到着色交替錶行的問題。交替着色問題
print '<tr '.if(childnum%2==0){.'bgcolor="#CCFFCC">'.} else {.'bgcolor="#990000">'};
這將導致以下錯誤:「Syntax Error, unexpected T_IF in /home/ on line [...]
」
嘗試使用if/else
邏輯發出print語句之前設置一個字符串變量到你想要的背景顏色。然後,只要在打印時將該變量包含爲bgcolor
的值。
爲此,我必須閱讀本打印聲明兩次。 – Aditii
不,你沒有。馬丁的解決方案正是我所提出的。 –
print '<tr '.(($childnum % 2 == 0) ? 'bgcolor="#CCFFCC">' : 'bgcolor="#990000">');
更好
可能childnum%2
應該$childnum % 2
我喜歡你的代碼。但它不在我的最後。 – Aditii
<?php while($ childdetail = mysql_fetch_assoc($ child)){ \t print'
if ($childnum % 2 == 0) {
$color = '#CCFFCC';
} else {
$color = '#990000';
}
print '<tr bgcolor="'.$color.'">';
不要混用條件語句(如if
)和語言結構(如print
)或功能。
並牢記可讀性。記住:有一段時間你必須維護這些代碼。
試試這個:
$tr = '';
if(($childnum % 2) == 0) $tr = '<tr bgcolor="#CCFFCC">';
else $tr = '<tr bgcolor="#990000">';
print $tr;
我usualy做才能解決的一個問題是:
不要寫在這種方式的代碼,在幾周內你不會明白它沒有更多的,相信我
if($childnum%2==0){
$mybgcolor = '#CCFFCC';
} else {
$mybgcolor = '#990000';
}
print '<tr bgcolor="'.$mybgcolor.'">';
更簡單,可讀
但不工作,這也...我提供代碼在上面的評論。 – Aditii
而問題是什麼? –
Sybtax錯誤,意外的T_IF在/ home/on這行。 什麼需要降低我的聲譽? – Aditii
你的問題是沒有問題的。你因爲缺少重要的信息而陷入低谷。 – ty812