0

我有一个按国家/地区返回结果的网站。有一个查询返回这个,然后我使用一个循环来输出数据。唯一的问题是其中之一,有一个 sub-50 列,结果一直到 sub-36 列是相同的。我需要帮助删除重复的列。

// By country
// sort countries by most subXs in descending order
arsort($country_sub{$dsub});
// print results
echo "<b><span style='font-size:20px;'>By Country</span></b>";
echo "<table><tr style='font-weight:bold;'><td style='width:100px;'>Country</td><td>sub".$dsub."</td>";
for($i=$dsub-1; $i>=$x; $i--){ echo "<td>sub".$i."</td>"; }
echo "</tr>";
foreach($country_sub{$dsub} as $country => $value){
 echo "<tr><td>".$country."</td><td>".$value."</td>";
 for($i=$dsub-1; $i>=$x; $i--){
 if (isset($country_sub{$i}[$country])) {
  echo "<td>".$country_sub{$i}[$country]."</td>";
 } else{
  echo "<td></td>";

 }
 echo "</tr>";
}
echo "</table><br/>";

该数组$country_sub{$dsub}包含具有该结果或更少的人数。foreach 循环输出最高的数字,for 循环输出结果本身。

您可以在此链接中查看此代码的使用位置:http: //cubingstats.netau.net/3bld/index.php。它用于“按国家/地区”部分。我想要的只是在那个表中,显示 sub 36 和 sub 27(上面列出的那些)。任何帮助都非常有用!

编辑:第 26-32 行(有关链接,请参阅下面的注释)显示 addOne 函数,这是将其添加到数组中的原因。然后在显示结果时在第 48-50 行和第 68-70 行使用它。

4

1 回答 1

2

在您的 SQL 查询中,DISTINCTSELECT

SELECT DISTINCT fields,fields...fields
FROM...
于 2013-08-26T16:46:41.290 回答