从 MySQL 中选择,拆分并插入到<td></td>



我有表"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;
日期时间2022-10-25 10:00:00102022-10-25 14:30:004402022-10-25 11:00:002022-10-25 14:40:00441

相关内容

最新更新