php - 如何按日期列出记录?
问题描述
您会看到我正在尝试列出数据库中表的记录,但我想通过以下方式进行:
- 首先,它必须显示日期
- 然后应该出现该日期的所有记录
在我的数据库表中,我有 4 个字段:
id, task, date, time
例如,一天中有多个任务执行,但时间不同。然后我在我的数据库中存储了许多不同日期和不同时间的任务。我想要的是每天列出它们。查阅数据库并显示一个列表,其中首先显示日期,然后显示在该日期完成的所有任务,然后显示另一个日期,然后显示该日期的所有任务,依此类推。
类似的东西
这是我的php代码
$obj = new Task();
$consult = $obj->Lists();
date_default_timezone_set("America/Mexico_City");
$dateActual = date("Y-m-d");
while ($result = $consult->fetch_object()) {
echo "<button class='btn btn-default'>date = " . $result->date . "</button><br>";
$consult2 = $obj->Lists2($dateActual);
while($result2 = $consult2->fetch_object()) {
echo "<span>". $result2->time ."</span><br>";
}
$dateActual = $result->date;
}
我对数据库的查询是:
public function Lists2($date)
{
global $conexion;
$sql = "SELECT ar.*, date_format(ar.date, '%d/%m/%Y') as date,
date_format(ar.time, '%r') as time,
u.user as User
FROM task_recents ar
INNER JOIN user u ON ar.iduser = u.iduser
WHERE date = '$date'
ORDER BY ar.time DESC";
$query = $conexion->query($sql);
return $query;
}
public function Lists()
{
global $conexion;
$sql = "SELECT ar.*, date_format(ar.date, '%d/%m/%Y') as date,
date_format(ar.time, '%r') as time,
u.user as User
FROM task_recents ar
INNER JOIN user u ON ar.iduser = u.iduser
ORDER BY ar.time DESC";
$query = $conexion->query($sql);
return $query;
}
结果是它向我显示了带有各自记录的重复日期。
我想要实现的是这样的:
我怎么能做到?
PD:我得到的结果是:
但我不喜欢那样...
解决方案
只要列之间存在匹配项,INNER JOIN 关键字就会从两个表中选择所有行。如果“Orders”表中的记录与“Customers”中的不匹配,这些订单将不会显示!
以下查询不应再生成重复记录
SELECT
ar.id,
ar.task,
date_format(ar.date, '%d/%m/%Y') as formattedDate,
date_format(ar.time, '%r') as formattedTime,
u.user as User
FROM
task_recents ar
LEFT JOIN
user u
ON
u.iduser = ar.iduser
WHERE
date = '$date'
ORDER BY
ar.time
DESC
推荐阅读
- c - 如何计算玻璃汁的体积?
- javascript - 使用 JavaScript 中的点击问题一一递增循环迭代
- r - 创建假人后保存标签包装中的标签
- android - 有没有办法在应用程序中打开 NFC 标签 URL,而不是 google/safari?
- reactjs - 我正在寻找一种在 react-redux-firebase 中使用 firestore connect 获取某些字母的方法
- c++ - 运行 C++ 项目
- r - 使用 R 从网站中查找所有 csv 链接
- javascript - 是否有 ESLint 规则来防止 `Promise
` to `boolean` 强制转换 - typescript-compiler-api - 打字稿转换器,`node.parent`未定义
- mysql - 无法使用外键 Maria DB 创建表