【发布时间】:2013-08-29 05:24:45
【问题描述】:
我有一个按国家/地区返回结果的网站。有一个查询返回这个,然后我使用一个循环来输出数据。唯一的问题是其中之一,有一个 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 行(有关链接,请参阅下面的 cmets)显示 addOne 函数,这是将它添加到数组中的原因。然后在显示结果时在第 48-50 行和第 68-70 行使用它。
【问题讨论】:
-
查询和输出怎么样?这会很有帮助
-
您可以在查询中尝试使用 GROUP BY 值
-
有问题的是您的查询...看到这一点会有所帮助。
-
它实际上并不是真正由查询运行的。当结果发布在页面上时,值被添加到数组中。你可以在pastie.org/private/immrnodeksobcdbdyz3g看到完整的源代码查询工作得很好,只是我必须能够在某种意义上删除重复的列。论坛上的一位用户说,最简单的方法是比较每一列并使用循环删除它们,但我无法让它工作
-
我在你的代码中看到了 5 个查询...它怎么不是由一个运行的?
标签: php mysql loops html-table