2011-08-26 54 views
-2

我遇到着色交替錶行的問題。交替着色問題

print '<tr '.if(childnum%2==0){.'bgcolor="#CCFFCC">'.} else {.'bgcolor="#990000">'}; 

這將導致以下錯誤:「Syntax Error, unexpected T_IF in /home/ on line [...]

+0

而問題是什麼? –

+0

Sybtax錯誤,意外的T_IF在/ home/on這行。 什麼需要降低我的聲譽? – Aditii

+1

你的問題是沒有問題的。你因爲缺少重要的信息而陷入低谷。 – ty812

回答

0

嘗試使用if/else邏輯發出print語句之前設置一個字符串變量到你想要的背景顏色。然後,只要在打印時將該變量包含爲bgcolor的值。

+0

爲此,我必須閱讀本打印聲明兩次。 – Aditii

+0

不,你沒有。馬丁的解決方案正是我所提出的。 –

4
print '<tr '.(($childnum % 2 == 0) ? 'bgcolor="#CCFFCC">' : 'bgcolor="#990000">'); 

更好

可能childnum%2應該$childnum % 2

+0

我喜歡你的代碼。但它不在我的最後。 – Aditii

+0

<?php while($ childdetail = mysql_fetch_assoc($ child)){ \t print'':'bgcolor =「# 990000「>')}; – Aditii

0
if ($childnum % 2 == 0) { 
    $color = '#CCFFCC'; 
} else { 
    $color = '#990000'; 
} 

print '<tr bgcolor="'.$color.'">'; 

不要混用條件語句(如if)和語言結構(如print)或功能。

並牢記可讀性。記住:有一段時間你必須維護這些代碼。

0

試試這個:

$tr = ''; 

if(($childnum % 2) == 0) $tr = '<tr bgcolor="#CCFFCC">'; 
else $tr = '<tr bgcolor="#990000">'; 

print $tr; 

我usualy做才能解決的一個問題是:

  • 了破解密碼進入不同的細分
  • 做,因爲我想它的工作
  • 重構它
1

不要寫在這種方式的代碼,在幾周內你不會明白它沒有更多的,相信我

if($childnum%2==0){ 
    $mybgcolor = '#CCFFCC'; 
} else { 
    $mybgcolor = '#990000'; 
} 
print '<tr bgcolor="'.$mybgcolor.'">'; 

更簡單,可讀

+0

但不工作,這也...我提供代碼在上面的評論。 – Aditii