MYSQLi日期格式 - 选择查询

时间:2014-10-06 00:53:02

标签: php mysql sql date mysqli

我是所有这些编码内容的新手(html,css php和mysqli)。目前,我有一个数据库,其列的类型为:DATE。日期以YYYY-MM-DD格式显示,我查询的是另一列,而不是日期列。

当我查询另一列时,我希望结果以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,我正在查询桌子上的“快乐&#39;在专栏&#39;快点&#39;在匹配的位置,我想在列&#39; SD&#39;中显示当前(今天&#39; s)日期之后的所有匹配列。

我的查询有助于向我展示“快乐&#39;专栏&#39;快点&#39;但所有日期都会出现,它们的格式为YYYY-MM-DD,我不想要。

3 个答案:

答案 0 :(得分:4)

使用php数据函数格式化日期。

例如:

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

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

答案 1 :(得分:1)

只需使用MySQL的DATE_FORMAT()功能即可根据需要设置日期格式:

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

以上代码以Monthname dd,YYYY

的格式输出日期

答案 2 :(得分:0)

对我而言,根据您想要的结果,似乎缺少几个拼图。首先,您需要在SQL语句中使用条件来选择所需的正确数据。

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

您也可以选择日期,并使用strtotime()在PHP端格式化。