2017-10-20 101 views
-2

我有這樣的SQL結果:PHP添加和合並SQL結果

用戶名尺寸

  • 約翰福音10
  • 約翰福音20
  • 約翰30
  • 珍6
  • 簡44
  • 簡10

但我需要這樣的:

  • 約翰60
  • 簡60

我怎麼能合併使用PHP的SQL結果?

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo $row["user_id"], " " , $row["size"], "<br>"; 
    } 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
+1

你想總結每個名字的最小和最大值?那些在分離的列或相同的列上? – MiguelKVidal

+2

提供任何有用答案的信息太少。你的表模式是什麼?你的PHP代碼是什麼?你甚至嘗試過什麼嗎?那會是什麼代碼? – IncredibleHat

+0

我想爲每個獨特用戶的每個值進行求和。用戶和大小是分離的列。 – syntax412

回答

1

聽起來像您希望創建一個名稱和大小相結合的新數組。這裏是一個例子:

$combined = array(); 
while($row = $result->fetch_assoc()) { 
    if (!isset($combined[ $row["user_id"] ])) { $combined[ $row["user_id"] ] = 0; } 
    $combined[ $row["user_id"] ] += $row["size"]; 
} 
foreach($combined as $userid => $size) { 
    echo $userid ." ". $size ."<br>"; 
} 

首先你循環,並通過相同的ID結合。然後你循環顯示結果。