最近,我修改了一个分页脚本,用于显示我的mySQL数据库。看起来不错,但有一件事我想换一下。
下面是脚本现在的样子:http://gyazo.com/7ef0d74caa781ab3e5f72a9935bcd7d0.png
它看起来很不错,但是右边有这么多的空间。因此,我想在右边添加同样的内容,另外两个列包含更多的信息。在这种情况下,只有15,但在完成之后,页面上将有45个结果。下面是我的脚本中最重要的部分:
<?php
while($row = mysql_fetch_array($result))
{
echo "<div id='matchcall' style='float: left'>$row[winner] vs $row[loser] ($row[matches])<br />";
}
?>
现在,请注意,我有15页的限制,然而,如果我这样做,我可以乘以3,并包含更多的信息每页。我想出了解决这个问题的方法,而我仅有的一个好办法是:
if ($row['id'] == 15){
echo "</div><div style='float: left'>
$row[winner] vs $row[loser] ($row[matches])<br />
}然而,这根本不起作用,因为它只会影响前15个结果,也不会继续将下一个结果向右浮动。所以我意识到我需要一种方法让它在15岁的时候识别出一个变化,然后继续这样做。有人能在这个问题上发亮点什么吗?
发布于 2013-10-14 03:26:09
如果我是您,我将使用一个表来显示这些结果:
<table>
<tr>
<td>Result1</td>
<td>Result2</td>
<td>Result3</td>
</tr>
<tr>
<!--td columns for the results of the second row-->
</tr>
<!--And 13 more rows... -->
</table>注意:不要对多个html标记使用相同的id,这是非常糟糕的做法。
id='matchcall'是重复的。使用
class='matchall'如果你需要同样的价值。
这就是如何生成您的表(我不是为您设计,但您会明白这个想法):
<?php
$myTable = "<table>";
$index = 0;
while($row = mysql_fetch_array($result))
{
$modulo = $index % 3;
if ($modulo === 0) {
$myTable .= "<tr>";
} else if ($modulo === 2) {
$myTable .= "</tr>";
}
$myTable .= "<td><div class='matchall'>$row[winner] vs $row[loser] ($row[matches])</div></td>";
$index++;
}
$myTable .= "</table>";
echo $myTable;
?>没有时间去测试它,但是你抓住了我的想法。
发布于 2013-10-14 02:13:02
你需要一个模组。关于如何使用How to iterate with foreach in divs?,我对这个线程进行了更深入的讨论。
https://stackoverflow.com/questions/19352315
复制相似问题