2014-10-06 165 views
1

我是新來的所有這些編碼的東西(html,css php和mysqli)。目前,我有一個數據庫,它有一個類型爲DATE的列。日期以YYYY-MM-DD格式顯示,我正在查詢另一列而不是日期列。MYSQLi日期格式 - 選擇查詢

當我在查詢另一列的內容時,我希望結果以dd-mm-yyyy格式顯示日期,並且只希望顯示那些日期比當前日期更長的行(例如,日期以後而不是舊日期)。

表名稱:快點

與日期列名:SD

列,我查詢:快點

查詢:

 "SELECT * FROM `Hora` WHERE `Hurry` LIKE '%Happy'"; 

輸出代碼:

<table id="table" class="query"> 
     <tr> 
      <th width="50%" colspan = "3"> START </th> 
      <th width="50%" colspan = "3"> END </th> 
     </tr> 
<?php 
    while($row = mysqli_fetch_array($results, MYSQLI_ASSOC)){ 
     echo "<tr>"; 
         echo "<td>" . $row['Hurry'] . "</td>"; 
         echo "<td>" . $row['4'] . "</td>"; 
         echo "<td>" . $row['SD'] . "</td>"; 
         echo "<td>" . $row['ST'] . "</td>"; 
         echo "<td>" . $row['2'] . "</td>"; 
         echo "<td>" . $row['ED'] . "</td>"; 
         echo "<td>" . $row['ET'] . "</td>"; 
     echo "</tr>"; 
} 
    echo "</table>"; 

在Suumary中,我在'Hurry'列中查詢'Happy'表以及它匹配的位置,我希望顯示在'SD'列中當前(今天)日期之後有一個日期的所有匹配列。

我的查詢工作來顯示我'快樂'從列'快點',但所有的日期即將到來,他們的格式是YYYY-MM-DD,我不想。

回答

3

使用PHP數據功能來格式化日期。

例:

echo "<td>" .date('d-m-Y', strtotime($row['Hurry'])) . "</td>"; 

http://php.net/manual/en/function.date.php

+0

酷哥們。格式化日期,但是如何篩選當前日期和之後的日期 – WebDesign 2014-10-06 01:22:50

+0

爲此,您可以修改查詢。 (例如:「SELECT * FROM'Hora' WHERE'快速'像'快樂'和快>> CURDATE()」; – Nadeeth 2014-10-06 01:28:02

1

只要使用MySQL的DATE_FORMAT()功能但是格式化日期,你想:

SELECT DATE_FORMAT(datecolumn, "%M %d, %Y") AS date ... 

上面的代碼輸出在MONTHNAME DD格式的日期,YYYY

+0

如何使用2選擇staements? – WebDesign 2014-10-06 01:20:33

0

對我來說,它看起來像拼圖的幾件是根據你想要的結果失蹤。首先,您需要在SQL語句中選擇一個條件來選擇所需的正確數據。

"SELECT * FROM `Hora` WHERE `Hurry` LIKE '%Happy' 
AND DATE_FORMAT(`date`, "%d-%m-%Y") > NOW()"; 

你也可以只選擇日期是它並使用strtotime()對其進行格式化在PHP端。