我的数据库连接工作正常,所以我将只包括代码。我要做的是创建一个特定项目上花费的总小时数的总和。我现在拥有的代码显示了项目更新最后一天的所有注解:
$query = "SELECT id, date,(select username from users where id = u.user_id) as user, (select description from requests where id = u.request_id) as request, notes, hours from updates u where u.request_id=$rid and date(date) = (select max(date(date)) from updates where request_id = $rid) order by (select description from requests where id = u.request_id) asc";
这是它在网页上的显示方式:
单击以查看网页上显示的内容的图像
我拥有的“测试”代码将添加总小时数:
$query = "SELECT id, date,(select username from users where id = u.user_id) as user, (select description from requests where id = u.request_id) as request, notes, SUM(hours) as clienthours, hours from updates u where u.request_id=$rid and date(date) = (select max(date(date)) from updates where request_id = $rid) order by (select description from requests where id = u.request_id) asc
这就是它在网页上的显示方式。请注意,除当天的第一条评论外,其他所有评论都已消失。单击以查看网页上显示的内容的图像
我试图调整查询的顺序,但它会给我发送错误并破坏代码。我还没有找到解决办法,如果能得到任何帮助,我将不胜感激。我不是很先进,当谈到php,所以我的方法是奇怪的,我是建立在别人的代码。任何建议都会有帮助!
谢谢您。
1条答案
按热度按时间rwqw0loc1#
我建议您的第二个脚本的主要问题是,您试图对返回一行的列求和,在sql中,当它是select中唯一的列时,您只能返回sum()。
下面的内容应该可以解决这个问题,并且通过使用连接对您来说会更有效(我假设updates.request\u id是唯一的主键)