【发布时间】:2011-09-17 15:57:12
【问题描述】:
我从这个站点获得了代码 sn-p,我使用它如下所示
$data = array();
while($row = mysql_fetch_assoc($num1)) {$data['row'][] = $row;}
while($row = mysql_fetch_assoc($num2)) {$data['row2'][] = $row;}
$count = count($data['row']);
echo "<table>" ;
echo "<tr>";
echo "<td width='300' bgcolor='#99CCF5' align='Left' style='padding-left:30px'><b>Country</b></td>" ;
echo "<td width='150' bgcolor='#99CCF5' align='center'><b>Mid Estimate 1</b></td>";
echo "<td width='150' bgcolor='#99CCF5' align='center'><b>Mid Estimate 2</b></td>";
echo "</tr>";
for($i=0;$i<=$count;$i++)
{
if(($i % 2) == 1)
{
echo "<tr>" ;
echo "<td align='center'>" . $data['row'][$i]['Country']."</td>";
echo "<td align='center'>" . $data['row'][$i]['MidEstimate']."</td>";
echo "<td align='center'>" . $data['row2'][$i]['MidEstimate']."</td>";
echo "</tr>" ;
}else
{
echo "<tr>" ;
echo "<td align='center'>" . $data['row'][$i]['Country'] ."</td>";
echo "<td align='center'>" . $data['row'][$i]['MidEstimate']."</td>";
echo "<td align='center'>" . $data['row2'][$i]['MidEstimate']."</td>";
echo "</tr>" ;
}
}
echo "</table>" ;
结果如下所示
image1 http://img4.pixa.us/8ba/19338641.jpg
正确的结果应该是这样的
image2 http://img4.pixa.us/c1d/19338642.jpg
也就是说,如果列中的任何值为空,则下一个辅助值将获得该位置。我怎样才能做到这一点?也就是说,如果任何值为空,则该列必须为空。
请提前帮助和感谢。
【问题讨论】:
-
您的 SQL 和表架构 + 示例数据会有所帮助。您也许可以在 SQL 级别解决这个问题并消除一些代码复杂性。
-
我在 mysql 中只有一个表。我之前在这个网站上的问题[链接]stackoverflow.com/questions/6341613/… 并且我从这个链接[链接]stackoverflow.com/questions/3613498/… 得到了上面的代码。感谢您的快速响应。
-
我同意罗宾的观点。看起来您可以使用 JOIN 更有效地接收数据,但至少如果没有您运行的查询,您的代码实际上并没有太大帮助。显然,表格布局也会有很大帮助。
-
正如我所说,我有一个 mysql 数据库,其中包含一个名为 mtable 的表,其中存储了所有数据。
标签: php mysql arrays html multidimensional-array