如何检查表中是否已存在名称?查询Mysql每天的总和,然后用PHP通过它填充HTML数据
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何检查表中是否已存在名称?查询Mysql每天的总和,然后用PHP通过它填充HTML数据,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2174字,纯文字阅读大概需要4分钟。
内容图文
因此,这是我的第一个问题,如果有人可以帮助我,我将非常感激.我目前有一个Mysql数据库和一个用PHP制作的Web应用程序,用户可以在其中输入当天用于特定任务的时间.
现在,我想以小时为单位,将每天活动的总和填充到HTML表中.我的问题是我找不到一种方法来检查名称字段是否唯一,因为数据包含许多具有相同名称字段的行,每天一行.
我有这个Mysql查询:
SELECT
t_email.name,
DATE_FORMAT(input_date,'%d') AS days,
SUM(time_worked) AS totalTime
FROM
t_transactions
LEFT JOIN t_email ON t_transactions.email_id >= t_email.email_id
WHERE
DATE_FORMAT(input_date,'%m') = '02'
AND DATE_FORMAT(input_date,'%Y') = '2019'
GROUP BY DATE_FORMAT(input_date,'%d')
ORDER BY t_email.name
这给我返回了一个像这样的表:
name days totalTime
james 01 5.00
james 06 2.00
jimmy 02 4.0
等等.我正在使用以下PHP:
<?php
foreach ($monthly_data_per_day as $row): ?>
<tr>
<td><?= $row['name'] ?></td>
<?php
$num_days = date('t');
for ($i = 1; $i <= $num_days; $i++) {
if ($row['days'] == $i) {
echo "<td>" . $row['totalTime'] . "</td>";
} else {
echo "<td>" . 0 . "</td>";
}
}?></tr>
<?php endforeach;?>
我想要一个HTML表,在数据库中的每个名字之后,您可以看到该人当天做了多少小时.因此,列从1到一个月中有多少天.
现在,我每天获得一行,而正确的时间总和仅作用于一列,因为每一列有一行.
这是我希望表格看起来像的图片:
A picture of the table with columns for each day of the month
解决方法:
有一种使用条件聚合的解决方案…将需要您编写31条CASE语句,例如:
SELECT
e.name,
SUM(CASE WHEN DAYOFMONTH(t.input_date) = 1 THEN t.time_worked ELSE 0 END) AS day1,
SUM(CASE WHEN DAYOFMONTH(t.input_date) = 2 THEN t.time_worked ELSE 0 END) AS day2,
SUM(CASE WHEN DAYOFMONTH(t.input_date) = 3 THEN t.time_worked ELSE 0 END) AS day3,
...
FROM
t_transactions t
LEFT JOIN t_email e ON t.email_id = e.email_id
WHERE YEAR(input_date) = 2019 AND MONTH(t.input_date) = 2
GROUP BY e.name
ORDER BY e.name
其他说明:
>我猜你的意思是t.email_id = e.email_id而不是t.email_id> = e.email_id
>使用MySQL内置的日期函数(例如YEAR,DAYOFMONTH和MONTH)可能会更有效,该函数会返回整数,而不是操作日期的格式化字符串表示形式
>由于并非查询中的所有字段都是别名,因此我假设input_date和time_worked列属于表t_transactions.
>因为我们是SELECT e.name,所以此列需要出现在GROUP BY子句中;在非古代版本的MySQL上,这是语法错误
内容总结
以上是互联网集市为您收集整理的如何检查表中是否已存在名称?查询Mysql每天的总和,然后用PHP通过它填充HTML数据全部内容,希望文章能够帮你解决如何检查表中是否已存在名称?查询Mysql每天的总和,然后用PHP通过它填充HTML数据所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。