2015-04-06 26 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>";