我正在制作一个 php 聊天系统,我想为每天添加一个标题。
为了实现这一目标,我需要一种方法来从数据库中获取当前消息日期和上一条消息日期,以便我可以在 if 语句中使用它们:
<?php if ($dtdate != $dtdateprev) : ?>
我在获取上次输入日期时遇到问题。
为了获取这些值,我使用以下内容:
<?php
$sql=mysql_query("SELECT * FROM test");
while($row=mysql_fetch_array($sql)) {
$dtval=$row['dtdate'];
$dtvalprev= **???**;
$dtdate=date_format(new DateTime($dtval), "D d M Y");
$dtdateprev=date_format(new DateTime($dtvalprev), "D d M Y");
?>
<?php if ($dtdate != $dtdateprev) : ?>
<div>Example Header</div>
<?php endif; ?>
<div>Example Message Body</div>
<?php } ?>
所以我需要一些有关 $dtvalprev 的帮助!提前致谢。
最佳答案
您可以使用查询获取之前的日期:
select t.*,
(select dtdate
from test t2
where t2.dtdate < t.dtdate
order by dtdate desc
limit 1
) as prevdtdate
from test t;
或者,您可以按日期顺序查询数据库:
select t.*
from test t
order by dtdate;
并使用 php 中的逻辑来记住之前的值。
关于php - 获取先前的数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18078376/