2011-07-16 21 views
0

當用戶上傳視頻時,我會進行兩次轉換。高分辨率,低分辨率。我在上傳處理腳本中使用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或其他方法對此進行計算嗎?

回答

1

你可能讓MySQL取平均值:

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

完美,感謝的人。 – Scarface