2013-06-24 69 views
1

我正在查詢我的數據庫並將數據轉儲到HTML表中。我的一個數據庫密鑰被稱爲「time_expire」,值爲-1意味着永遠不會。因此,爲了在HTML表格中顯示「never」的效果,而不是原始數據,我試圖在echo'd之前更改該變量。PHP如果語句沒有正確附加變量

這是我的代碼

<?php 
     $sql = "SELECT * FROM penalties ORDER BY id DESC"; 
     $result = mysql_query($sql); 
     while ($rows = mysql_fetch_array($result)) { 

      if ($rows['time_expire'] = '-1') { 
       $rows['time_expire'] = '<span class="label label-important">Permanent</span>'; 
      } 

      echo "<tr>"; 
      echo '<td><a href="ban.php?banid=' . $rows['id'] . '">' . $rows['id'] . '</a></td>'; 
      echo "<td>" . $rows['client_id'] . "</td>"; 
      echo "<td>" . $rows['type'] . "</td>"; 
      echo "<td>" . date('m/d/Y', $rows['time_add']) . "</td>"; 
      echo "<td>" . $rows['duration'] . "</td>"; 
      echo "<td>" . $rows['time_expire'] . "</td>"; 
      echo "<td>" . $rows['reason'] . "</td>"; 
      echo "</tr>"; 
     } 
     ?> 

此代碼不會出錯,但是在我的HTML表中的每一行都有「從來沒有」,即使原始數據是不同的到期值。

+3

你可能想寫'=='而不是'='在那裏。 – complex857

+0

這使得我的輸出就像if語句不存在一樣,它忽略它。沒有錯誤。 –

+0

是的,當然。這就像那樣.. if($ rows ['time_expire'] =='-1'){ –

回答

3

這似乎是在如果statemenet

if ($rows['time_expire'] = '-1') [ 
         ^
         | 

常見錯字如果你想在口譯員會爲您找到這些,請嘗試使用如下yoda conditions

然而
if ('-1' = $rows['time_expire']) 

這種形式將創建錯誤的正確形式都工作正常:

'-1' == $rows['time_expire'] 

$rows['time_expire'] == '-1' 
+0

在'if'行工作時給它一個==,我試着在兩行上都這麼做。謝謝,我不能投票給你。 –

3

我認爲這應該是:

if ($rows['time_expire'] == '-1') 

if ($rows['time_expire'] = '-1') 
0

嘗試改變。如果條件if ($rows['time_expire'] == '-1')。現在你的情況說變量$rows['time_expire']等於'-1'這總是返回true.It可能讓你在無限循環。

0

首先是什麼類型time_expire

如果time_expire是數字,那麼您應該將條件更改爲: if ($rows['time_expire'] == -1)這將正確評估。

其次,您的條件檢查實際上是將值$rows['time_expire']分配給單個=,它應該是雙重=,如==