在php中从数据库显示正确的日期时间
我对日期时间表示有问题。 我想在一个列表中显示进入db的条目的时间,旁边有条目的标题。 但目前,每当我尝试正确设置时间格式时,代码只显示一个条目,而不是所有条目在php中从数据库显示正确的日期时间,php,mysql,datetime,Php,Mysql,Datetime,我对日期时间表示有问题。 我想在一个列表中显示进入db的条目的时间,旁边有条目的标题。 但目前,每当我尝试正确设置时间格式时,代码只显示一个条目,而不是所有条目 <?php $result = mysql_query("SELECT * FROM posts"); while ($row = mysql_fetch_array($result)){ echo "<li>{$row["date"]}". " &nb
<?php
$result = mysql_query("SELECT * FROM posts");
while ($row = mysql_fetch_array($result)){
echo "<li>{$row["date"]}". " ". $row["title"]. "</li>";
}
?>
但是当我把日期格式化成这样的时候
<?php
$result = mysql_query("SELECT * FROM posts");
$new_date = mysql_fetch_row($result);
$date = date_create($new_date[3]);
while ($row = mysql_fetch_array($result)){
echo "<li>". date_format($date, 'Y-m-d H:i:s'). " ". $row["title"]. "</li>";
}
?>
我只从数据库中获取最后一行。通过在循环外部调用
mysql\u fetch\u row()
将记录集的第一条记录弹出堆栈,只留下第二条记录。只需在循环中创建DateTime()对象
<?php
$result = mysql_query("SELECT * FROM posts");
while ($row = mysql_fetch_array($result)){
$date = date_create($row[3]);
echo "<li>". date_format($date, 'Y-m-d H:i:s'). " ". $row["title"]. "</li>";
}
?>
我也不建议在访问相同数据时混合使用数字键和关联键。坚持一个。我建议使用关联数组,因为读者可以更清楚地了解正在发生的事情
<?php
$result = mysql_query("SELECT * FROM posts");
while ($row = mysql_fetch_assoc($result)){
$date = date_create($row['date_col']);
echo "<li>". date_format($date, 'Y-m-d H:i:s'). " ". $row["title"]. "</li>";
}
?>
。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,.尝试直接在循环中使用
date()
格式化,这样就不需要$date
var
echo "<li>".date('Y-m-d H:i:s', strtotime($row["date"]))." ". $row["title"]. "</li>";
圈内
另外,
mysql.*
已被弃用以获取更多的follow@john Conde-answer。不是对您问题的回答,而是查看。你看到那个红色的大盒子了吗?如果您正在编写新的PHP代码,您应该注意它所说的内容。简言之,请改用mysqli
或PDO
函数。
echo "<li>".date('Y-m-d H:i:s', strtotime($row["date"]))." ". $row["title"]. "</li>";
$date = date_create($new_date[3]);