php - 获取先前的数组值

标签 php mysql arrays

我正在制作一个 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/

相关文章:

c++ - 使用参数推导时如何停止模板递归?

C++ - 读取输入文件并存储和计算统计数据

php - 如何准确获取mysql中最后插入记录的id?

php - 如何使用 facebook php sdk v4 和 graph api 2.x 以管理员身份在 facebook 页面墙上发布帖子

mysql - 获取两个数据单元之间差异的平均值

c - 总线错误 :10 when try to reverse string in c

php - 将 addActionContext() 更改为仅 XML

php Y-m-d 添加 H :i:s

MySQL,三张表 : Select all rows in right table including rows that are not mapped in middle table

MySQL在小数点后转换丢失数字的子串