2015-11-06 58 views
1

我想添加一列到我的數據庫表中,顯示時間戳和當前日期之間的差異。我試着用DateDiff創建另一個查詢,但我不確定我做錯了什麼。 任何人都可以幫忙嗎?使用MySQLI將DateDiff列添加到PHP表格

我的代碼如下。

<?php 
      $result = mysqli_query($con,"SELECT * FROM pokemon ORDER BY stats"); 

      echo "<table border='1'> 
      <tr> 
      <th>Pokemon Name</th> 
      <th>Type One</th> 
      <th>Type Two</th> 
      <th>Move One</th> 
      <th>Move Two</th> 
      <th>Move Three</th> 
      <th>Move Four</th> 
      <th>Stats</th> 
      <th>ID</th> 
      <th>Date Added</th> 
      <th>Days on File</th> 
      </tr>"; 

      while($row = mysqli_fetch_array($result)) 
      { 
       $query = "SELECT DATEDIFF(CURDATE, $row[dAdded])FROM pokemon AS days"; 
       $date = mysqli_query($con, $query); 


      echo "<tr>"; 
      echo "<td>" . $row['pName'] . "</td>"; 
      echo "<td>" . $row['type1'] . "</td>"; 
      echo "<td>" . $row['type2'] . "</td>"; 
      echo "<td>" . $row['move1'] . "</td>"; 
      echo "<td>" . $row['move2'] . "</td>"; 
      echo "<td>" . $row['move3'] . "</td>"; 
      echo "<td>" . $row['move4'] . "</td>"; 
      echo "<td>" . $row['stats'] . "</td>"; 
      echo "<td>" . $row['ID'] . "</td>"; 
      echo "<td>" . $row['dAdded'] . "</td>"; 
      echo "<td>" . $date . "days</td>"; 
      echo "</tr>"; 
      } 
      echo "</table>"; 
     ?> 

回答

0

我懷疑的問題是你的DATEDIFF()函數中,更具體地$row[dAdded]。這不應該是$row['dAdded']與報價?而且我相信CURDATE需要括號CURDATE()

DATEDIFF(CURDATE(), $row['dAdded']) 
1

您可以將datediff添加到原始查詢中。您還需要使用fetch_assoc而不是fetch_array,以便您可以引用$ row中的字段名稱。

$result = mysqli_query($con,"SELECT *, DATEDIFF(CURDATE, dAdded) as dDate FROM pokemon ORDER BY stats"); 
while($row = mysqli_fetch_assoc($result)) 
{ 

} 
+0

這是一個很好的補充和少開銷:) – camelCase