2015-05-09 125 views
-1

下面的代碼有效,但我想使用MONTHNAME將月份更改爲名稱,例如「October」,「November」和「December」。當我這樣做時,出現以下錯誤:如何將日期更改爲名稱

JulyError在查詢中:unknown列'July'in'where clause'。

我在做什麼錯?

<html> 
<body> 
<?php 
$connection = mysql_connect('localhost','root','') or die ('unable to connect'); 
mysql_select_db("naurah")or die ("cannot select db"); 

$query = "SELECT YEAR(date) AS year, SUM(total) AS total FROM `order` GROUP BY year"; 
$result = mysql_query($query) or die ("Error in query:".mysql_error()); 
if (mysql_num_rows($result) > 0) { 
    while ($row=mysql_fetch_array($result)) { 
     echo $row[0]; 
     $query1 = "SELECT * FROM `order` WHERE YEAR(date) = $row[0]"; 
     $result1=mysql_query($query1) or die ("Error in query:".mysql_error()); 
     if (mysql_num_rows($result1) > 0) { 
      echo '<table border="1" cellpadding="0" cellspacing="0" class="tg"> 
      <strong> 
       <tr> 
       <th class="tg-031e">Order ID</th> 
       <th class="tg-031e" width="100">Date</th> 
       <th class="tg-031e">Name</th> 
       <th class="tg-031e">Email</th> 
       <th class="tg-031e" width="100">Telephone</th> 
       <th class="tg-031e">Address</th> 
       <th class="tg-031e">City</th> 
       <th class="tg-031e">Postcode</th> 
       <th class="tg-031e">State</th> 
       <th class="tg-031e">Reference No</th> 
       <th class="tg-031e">Total</th> 
       <th class="tg-031e">Order Status</th> 
       <th class="tg-031e">Postage</th> 
       <th class="tg-031e">Action</th> 
       </tr> 
      </strong>'; 
      while ($row1 = mysql_fetch_array($result1)) { 
       echo " 
       <tr> 
        <td class=\"tg-4eph\" ><div align=\"center\"> $row1[0] </div></td> 
        <td class=\"tg-031e\" ><div align=\"center\"> $row1[1] </div></td> 
        <td class=\"tg-031e\" ><div align=\"center\">$row1[3] $row1[2]</div></td> 
        <td class=\"tg-4eph\" ><div align=\"center\"> $row1[4]</div></td> 
        <td class=\"tg-031e\" ><div align=\"center\"> $row1[5]</div></td> 
        <td class=\"tg-4eph\" ><div align=\"center\"> $row1[6]</div></td> 
        <td class=\"tg-031e\" ><div align=\"center\"> $row1[7]</div></td> 
        <td class=\"tg-4eph\" ><div align=\"center\"> $row1[8]</div></td> 
        <td class=\"tg-031e\"><div align=\"center\"> $row1[9]</div></td> 
        <td class=\"tg-031e\"><div align=\"center\"> $row1[10]</div></td> 
        <td class=\"tg-031e\"><div align=\"center\"> $row1[11]</div></td> 
        <td class=\"tg-031e\"><div align=\"center\"> $row1[12]</div></td> 
        <td class=\"tg-031e\"><div align=\"center\"> $row1[13]</div></td> 
        <td class=\"tg-4eph\" width=\"100\"><div align=\"center\">     
        <a href=\"adminupdatetrans.php?orderID= $row1[0]\"> 
        <img src=\"../images/icn_edit_article.png\" title=\"Remove\"/> 
        </a> 
        &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
        <a href=\"admindeleteorder.php?orderID= $row1[0] \" onclick=\"return confirm('Are you sure want to delete ?')\"> 
        <img src=\"../images/icn_trash.png\" title=\"Remove\"/> 
        </a> 
        </td> 
       </tr> 
       "; 
      } 
      echo ' 
      <tr> 
       <td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td> 
       <td >Total All:</td> 
      '; 
      echo '<td>RM'; 
      echo $row[1]; 
      echo '</td></tr>'; 
      echo '</table>'; 
     } 
    } 
} 
?> 
</body> 
</html> 
+3

這多少代碼是不必要的。只要把你的問題給出4-5行的代碼,你確切地得到了錯誤(4-5排隊和4-5排隊)。把你所期望的。並且如果您評論發生錯誤的行,這很好。 –

+0

你正在使用哪種日期格式 –

+0

改進的代碼可讀性... –

回答

1

假設日期是在時間戳格式:), 你可以感謝月份的名字這種方法:

date("F",mktime(0,0,0,date('m', $timestamp),1,2011));
或者這樣:
date('F', strtotime("2015-date('m', $timestamp)-01"));

相關問題