Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从文件大小和总下载计数获取服务的总下载带宽_Php_Mysql_Codeigniter - Fatal编程技术网

Php 从文件大小和总下载计数获取服务的总下载带宽

Php 从文件大小和总下载计数获取服务的总下载带宽,php,mysql,codeigniter,Php,Mysql,Codeigniter,我有一个文件表,其中包含以下属性: f_id, s_id, u_id, name, size, downloads, uploaded 我希望我的用户帐户页面显示用户上传的总带宽。要做到这一点,我需要获取每个用户上传的大小,然后*下载,然后将所有结果相加 最初,我得到的是用户的总文件大小,然后是他们的总下载量,但显然这并不准确。以下是我的查询示例: $sql = 'SELECT SUM(downloads) AS downloads FROM `files`

我有一个
文件
表,其中包含以下属性:

f_id, s_id, u_id, name, size, downloads, uploaded
我希望我的用户帐户页面显示用户上传的总带宽。要做到这一点,我需要获取每个用户上传的大小,然后*下载,然后将所有结果相加

最初,我得到的是用户的总文件大小,然后是他们的总下载量,但显然这并不准确。以下是我的查询示例:

$sql = 'SELECT SUM(downloads)
        AS downloads
        FROM `files`
        WHERE u_id = (SELECT u_id FROM `users` WHERE username = ? LIMIT 1)
        LIMIT 1';
我该怎么做?多谢各位

SELECT SUM(size*downloads) AS bandwidth
FROM files f
   JOIN users u
      ON f.u_id = u.u_id
WHERE u.username = ?
GROUP BY u.u_id
这将为您提供一个数字,表示用户上传产生的带宽