我有一个数据库,我将事件存储在名为news的表中,其中包含以下字段:(newsid(int),title(varchar),date(date),location(varchar),text(text)。我是尝试按照最新的一个在顶部显示这些事件,我希望日期在订购后以5/6/2014的形式显示。我尝试了FORMAT功能,但它不适用于我。提前感谢! 包括( “config.php中”);
//load all news from the database and then OREDER them by newsid
$result = mysqli_query($connect, "SELECT * FROM news ORDER BY date DESC");
//a loop and get all news from the database
echo '<div id="backg">';
while($row = mysqli_fetch_array($result))
{//begin of loop
//now print the results:
echo '<br><br>';
echo '<div class="div1">';
echo '<p1><br><b> ';
echo $row['title']. '</b></p1></div><br>';
echo '<div class = "div2" style = " height : auto; min-height : 50px; height:auto ! important;height:30px;">';
echo '<b>Time: '.'</b>';
echo $row['time'] . '<br>';
echo '<b>Date: '.'</b>';
echo $row['date']. '<br>';
echo '<b>Location: '.'</b>';
echo $row['location'] . '<br><br>';
echo '<p3 class="indent"><b>'.str_replace('\\n', '<br/>', $row['text1']). '</b></p3></div>';
}
答案 0 :(得分:0)
您可以使用MySQL DATE_FORMAT
函数格式化结果集中的日期,并使用“纯”无格式日期进行排序:
SELECT newsid, title, FORMAT_DATE(date, '%m/%e/%Y') AS DateFmt, location, text
FROM news
ORDER BY date DESC
唯一的PHP代码更改将是您显示日期时。您需要回显格式化的值,在上面的查询中我将其命名为DateFmt
,因此请替换此...
echo $row['date']. '<br>';
......用这个:
echo $row['DateFmt']. '<br>';
此更改意味着您需要在SELECT
列表(SELECT a, b, c, ...
而不是SELECT *
)中指定每个列,但无论如何,在生产代码中命名列都被视为良好做法。