2022-10-25 10:00:00 1 0 2022-10-25 14:30:00 44 0 2022-10-25 11:00:002022-10-25 14:40:00 44 1
我有表"att";在mysql中,如下所示:
datetime userid startorend
2022-10-25 10:00:00 1 0
2022-10-25 14:30:00 44 0
2022-10-25 11:00:00 1 1
2022-10-25 14:40:00 44 1
所以有两个用户开始和结束他们的工作。
选择工作正常,但它显示我错了:
Name starttime endtime
user1 2022-10-25 10:00:00
user1 2022-10-25 11:00:00
user2 2022-10-25 14:30:00
2022-10-25 14:40:00
需要在html表中显示数据。我想把它显示为:
Name starttime endtime
user1 2022-10-25 10:00:00 2022-10-25 11:00:00
user2 2022-10-25 14:30:00 2022-10-25 14:40:00
我怎样才能做到这一点?
$query = "SELECT * FROM att WHERE date(att.starttime) = CURDATE() ORDER BY userid ASC";
$result = mysqli_query($conn, $query);
if (!$result) {
die("Problém" . mysqli_error($conn));
}
while ($row = mysqli_fetch_assoc($result)) {
$userid = $row['userid'];
$time= $row['datetime'];
echo "<tr>";
echo "<td>" . $userid. " " . $name . "</td>";
echo "<td>" . $time . "</td>";
echo "</tr>";
SELECT userid, t1.`datetime`, t2.`datetime`
FROM att t1
JOIN att t2 USING (userid)
WHERE !t1.startorend
AND t2.startorend
-- AND DATE(t1.starttime) = CURRENT_DATE
-- AND DATE(t2.starttime) = CURRENT_DATE
我看不到用户名的来源。。。必须使用另一个表。
查询假设表中每天只有一个收入和一个结果。
它对我来说不太好用。没有结果。-sover
你做错了什么。
CREATE TABLE att (`datetime` DATETIME, userid INT, startorend BOOLEAN);
INSERT INTO att VALUES
('2022-10-25 10:00:00', 1, 0),
('2022-10-25 14:30:00', 44, 0),
('2022-10-25 11:00:00', 1, 1),
('2022-10-25 14:40:00', 44, 1);
SELECT * FROM att;
日期时间