2012-07-14 53 views
0

我嘗試用幾種方式編寫此代碼,但總是結果很好,僅適用於一線隊所有其他結果都不好。 當我把其他俱樂部的id放在$ id上時,我得到了這支球隊的好成績,但是隻有一排,我想顯示所有20支球隊。只顯示第一個結果好的數組

<table> 
<thead><tr><th>Name</th><th>Played</th><th>0,5</th><th>1,5</th><th>2,5</th> 
<th>3,5</th><th>4,5</th></tr></thead> 
<tbody> 
<?php 
$teams = mysql_query("select * from teams"); 
$num_teams = mysql_num_rows($teams); 

while ($group = mysql_fetch_row($teams)) { 
    $id_team[] = $group; 
} 

for ($a = 0; $a < $num_teams; $a++) { 

if (isset($num_array)) { 
mysql_data_seek($query_array, 0); 
$search_array_over = array(); 
} 

$id = $id_team[$a][0]; 
$name_over = $id_team[$a][1]; 

$query_array = mysql_query("select * from full_stat where kl1 = $id or kl2 = $id"); 
$num_array = mysql_num_rows($query_array); 

while ($row = mysql_fetch_row($query_array)) { 
$data_over[] = $row;  
} 


$search_array_over = array('1' => '0', '2' => '0' ,'3' => '0', '4' => '0','5' => '0','6' => '0'); 
for ($now = 0;$now < $num_array; $now++) { 
    $over_pass = ($data_over[$now][3] + $data_over[$now][4]); 

    for ($pass = 1; $pass < 7; $pass++) { 
     if ($over_pass >= $pass)  { 
      $final_pass = $pass; 
     } 
     else { 
      $final_pass = '6'; 
     } 

if (array_key_exists($final_pass, $search_array_over)) { 
    $search_array_over[$final_pass] += 1; 
     } 
else { 
    $search_array_over[$final_pass] = 1; 

} 
} 
} 


echo '<tr><td>'.$name_over.'</td><td>'.$num_array.'</td>  <td>'.$search_array_over[1].'</td><td>'.$search_array_over[2].'</td><td>'.$search_array_over[3].'</td><td>'.$search_array_over[4].'</td><td>'.$search_array_over[5].'</td></tr>'; 
} 
?> 
</tbody> 
</table> 

回答

0

這是一個令人困惑的PHP代碼塊。

對你最終輸出的更好的解釋可能對此有所幫助,但我會猜測它是團隊名單加他們的統計數據。

由於解剖你當前的代碼讓我感到痛苦,我將描述我將如何做到這一點。

在您的數據庫有2個表, 「團隊」 和 「team_stats」

團隊結構:

id int 
name varchar 
.... 

統計結構:

team_id int 
someStat int 
otherStat int 
.... 

$stmt = $mysqli -> prepare("SELECT * FROM team LEFT JOIN team_stats ON team_stats.team_id"); 
$stmt -> execute(); 
$result = $stmt -> fetch_all(); 
foreach($result as $team) { 
    // output data to page 
} 

>