Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.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 - Fatal编程技术网

Php 两个正在进行的过程取得进展

Php 两个正在进行的过程取得进展,php,mysql,Php,Mysql,当用户上传视频时,我会进行两次转换。高分辨率和低分辨率。我在上载处理脚本中使用popen(),并为每次转换运行linux ffmpeg转换命令。当我过去只有一次转换时,我只是根据popen的输出计算进度,并将其放入数据库表(conversion\u progress),然后将其更新为进程输出的结果 现在我要做的是在我的转换进度表中插入两个条目,并计算每个进度的差异。但是,当我使用select语句时,由于两个条目具有相同的vid_id,我无法区分每个进程,因为返回了两行。我不需要,我只想得到两行的

当用户上传视频时,我会进行两次转换。高分辨率和低分辨率。我在上载处理脚本中使用popen(),并为每次转换运行linux ffmpeg转换命令。当我过去只有一次转换时,我只是根据popen的输出计算进度,并将其放入数据库表(
conversion\u progress
),然后将其更新为进程输出的结果

现在我要做的是在我的
转换进度表中插入两个条目,并计算每个进度的差异。但是,当我使用select语句时,由于两个条目具有相同的vid_id,我无法区分每个进程,因为返回了两行。我不需要,我只想得到两行的平均值。有人对此有什么建议吗

$sql = 'SELECT progress from conv_progress WHERE vid_id=?';
$stmt4 = $conn->prepare($sql);
$result=$stmt4->execute(array('123')) or die(print_r($db->errorInfo(), true));
while ($row=$stmt4->fetch(PDO::FETCH_ASSOC)){
$data['progress']=$row['progress']; 
}

    $out = json_encode($data);
    print $out;

返回5070,表示一次上载为50%,另一次上载为70%。我可以使用foreach或其他工具对此进行计算吗?

您可能希望让MySQL取平均值:

$sql = 'SELECT AVG(progress) AS progress from conv_progress WHERE vid_id=? GROUP BY vid_id';