2011-03-07 45 views
0

enter image description here鴻溝PHP MySQL的結果左右

$flag=0; 
if($q->num_rows > 0) : 
    echo '<div id="testimonial">'; 
    while($r = $q->fetch_array(MYSQLI_ASSOC)) : 
     if($flag=0) : 
       $class=test1; $flag=1; 
     else : 
       $class=test2; $flag=0; 
     endif; 

     echo '<div class="'.$class.'">'; 
      echo '<span class="left">'; 
      echo '<p>'.$r['compname'].'</p>'; 
      echo '<p>'.$r['position'].'</p>'; 
      echo '</span>'; 
      echo '<span class="right">'; 
      echo '<p>'.$r['testimonial'].'</p>'; 
      echo '</span>'; 
     echo '</div>'; 
    endwhile; 
    echo '</div>'; 
else : 
    echo '<h1>Coming Soon</h1>'; 
endif; 

我想要的結果看起來像圖片!似乎我的PHP代碼沒有解決的CSS類。它只顯示1級test1當我回應結果。所有結果都保持一致。

+0

'if($ flag = 0)'是一個賦值,因此總是爲真。使用比較運算符「==」 – sled 2011-03-07 14:06:29

回答

2
if($flag=0) 
     ^should be == 

這種情況很容易雖與:

$i = 0; 
while (…) { 
    $class = $i++ % 2 ? 'test1' : 'test2'; 
} 
2

您在if語句中進行了賦值,而不是進行比較:if($flag=0)

1
$class=test1; $flag=1; 
     ^----^--- 

你錯過一些報價也有。就目前而言,您正在嘗試分配一個名爲「test1」和「test2」的常量,這些常量很可能未定義,因此它們將評估爲空字符串。

+0

謝謝!忘了放引號:) – tonoslfx 2011-03-07 14:23:44

+0

這將評估字符串「test1」,而不是一個空字符串。 ...是的,這是PHP。 :) – deceze 2011-03-08 02:06:35

1
$flag=0; 
if($q->num_rows > 0) : 
    echo '<div id="testimonial">'; 
    while($r = $q->fetch_array(MYSQLI_ASSOC)) : 
     if($flag==0) : 
       $class='test1'; $flag=1; 
     else : 
       $class='test2'; $flag=0; 
     endif; 

     echo '<div class="'.$class.'">'; 
      echo '<span class="left">'; 
      echo '<p>'.$r['compname'].'</p>'; 
      echo '<p>'.$r['position'].'</p>'; 
      echo '</span>'; 
      echo '<span class="right">'; 
      echo '<p>'.$r['testimonial'].'</p>'; 
      echo '</span>'; 
     echo '</div>'; 
    endwhile; 
    echo '</div>'; 
else : 
    echo '<h1>Coming Soon</h1>'; 
endif; 

這應該工作!