2013-06-04 22 views
-3

enter image description here如何從一個表中提取值,計算它們和頁面

喜上顯示的結果,我在做基於以上(表)的圖像關於風險分析編碼。不幸的是,我不知道如何將公式轉換成編碼並在PHP頁面上顯示結果。基本上這個公式涉及每行的可能性*嚴重性的乘積,在它們之間加上,然後平均它(除以3)。總之

result1 = (likelyhood1 * severity1) 
result2 = (likelyhood2 * severity2) 
result3 = (likelyhood3 * severity3) 

a = (result1 + result2 + result3)/3 

結果「a」然後顯示到相同的php頁面(我使用MySQL數據庫)。

我曾嘗試尋找答案,但無濟於事。這是我卡住的地方。

<?php 

$con=mysqli_connect("localhost","root","","risk"); 
// Check connection 
if (mysqli_connect_errno()) 
{ 
echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM Persons"); 

//$res1 = 

mysqli_close($con); 

?> 
+0

並不難的事情。只需循環遍歷行就可以進行乘法運算,將其添加到運行總和中然後進行分割。 –

+0

這是關於從數據庫獲取行。就這樣。使用'mysql_fetch_array()';在循環 – Robert

回答

2
$total = 0; 
while($row=mysqli_fetch_array($result)){ 
    $total += $row['likelyhood'] * $row['severity']; 
} 
$a = $total/3; 
+0

這正是我想要的,非常感謝。 – akldflasknivjkldfgn

+0

使用Klaus Byskov Pedersen的回答。在查詢中執行它更簡單,並且他顯示的第二個查詢將有助於如果需要可變數量的行而不是隻設置一個數字。 –

3

可以直接查詢的是:

SELECT SUM(likelyhood * severity)/COUNT(*) FROM Persons 

編輯:

或者更簡單:

SELECT AVG(likelyhood * severity) FROM Persons 
+2

+1甚至沒有考慮直接在查詢:) –

相關問題