php - 两个正在进行的流程取得进展

标签 php mysql

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

现在我想要做的是将两个条目插入到我的 conversion_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';

关于php - 两个正在进行的流程取得进展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720751/

相关文章:

php - 从地址获取谷歌地图地理编码

php - 将 title 标签移动到 joomla 中的 head 标签的顶部

MySql 改变各个数据库的数据路径

mysql - 从巨大的无序分数MySQL表中获取排名

php - AFNetworking 2.0 多部分/表单数据上传到 mySQL

php - mysqli_num_rows()错误未返回字符串

javascript - 如何获取图像加载后的尺寸?

php - 我如何 gzip 我的网络文件

python - 从具有最小值总和的不同表中选择唯一记录

c# - MySQL 连接到 phpMyAdmin 用 C# 创建的数据库