你看我试图在我的数据库中列出一个表的记录,但我想用以下方式来做:
-
首先,它必须显示日期
-
然后应该出现该日期的所有记录
在我的数据库表中,我有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:我得到的结果是:
但我不喜欢那样......
1 回答
以下查询不应再生成重复记录