2015-04-06 53 views
0

我有一張包含特定職位和各種投票的有抱負的團隊的表格。 數據低於如何使用html和php以特定方式格式化數據

Teamtable 
| no | team | position | votes Cast | 
| 1 | A  | President | 2   | 
| 3 | B  | President | 1   | 
| 4 | C  | Secretary | 2   | 
| 6 | D  | Secretary | 1   | 

我想用PHP和MySQL,就像下面

在HTML預期VIEW和PHP格式

PRESIDENT 
Team | Total Votes | Percentage | 
A  |  2  | 66.67  | 
B  |  1  | 33.33  | 

    SECRETARY 
Team | Total Votes | Percentage | 
C  |  2  | 66.67  | 
D  |  1  | 33.33  | 

能在一個html格式得到這這是我到目前爲止所嘗試的

//QUERY 
$SQL=SELECT 
     `team`, 
     `position`, 
     `votesCast` 
    FROM 
     Teamtable 

$Results=$db->query($SQL); 

$data=array(); 

while($row=mysqli_fetch_assoc($Results)){ 

    $team=$row['team']; 
    $position=$row['position']; 
    $totalVote=$row['votesCast']; 

    $data[$position][]=$position; 
    $data1[$position][]=$team; 
    $data2[$position][]=$totalVote; 
} 

foreach($data as $position =>$electionResults){ 
    $teams=$data1[$position]; 
    $totalVotes=$data2[$position]; 

    foreach($teams as $re => $teas){ 
     $votes=$totalVotes[$re]; 
     echo " 
      <table> 
      <tr> 
       <td>$teas</td> 
       <td>$votes</td> 
      </tr> 
      </table>"; 
    } 

} 

我必須嘗試到這一點,任何幫助表示讚賞。

+0

爲什麼不使用CSS,而不是僅僅HTML/PHP/SQL – azochz

回答

1

這可能是你

while($row = mysqli_fetch_assoc($result)) { 
    $data[$row['position']]['total'][]=$row['votes']; 
    $data[$row['position']][]=$row; 
} 
foreach($data as $k=>$v){ 
    echo '<p>'.$k.'</p>'; 
    echo '<table border="1">'; 
    $total_votes=array_sum($v['total']); 
    foreach($v as $kk=>$vv){ 
     if($kk!=='total'){ 
      $percentage=round($vv['votes']/$total_votes*100,2); 
      echo '<tr><td>'.$vv['tean'].'</td><td>'.$vv['votes'].'</td><td>'.$percentage.'%</td></tr>'; 
     } 
    } 
    echo '</table>'; 
} 
+0

感謝兄弟非常有幫助的,但我將如何計算百分比每個位置 – George

+0

我只是更新了答案。 – user789456

+0

這個比例給出了一個錯誤,假設C隊是唯一一位參加祕書的球隊,而他只有一票,但三人都投了票。百分比如何被擊中 – George

0

你不想在foreach外面放置表格。

echo "<table>"; 
foreach($teams as $re => $teas){ 
    $votes=$totalVotes[$re]; 
    echo "<tr> 
      <td>$teas</td> 
      <td>$votes</td> 
     </tr>"; 
} 
echo "</table>";