[英]Display SQL data in 3 rows
我最近修改了一个分页脚本,以显示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个结果向右浮动。 所以我意识到我需要一种方法来让它识别15的变化并以这种方式进行。 谁能给这个问题照亮一点?
您需要取模。 我对该线程有更深入的讨论,如何使用它们。 如何在div中使用foreach进行迭代?
如果我是您,我将使用表格显示这些结果:
<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;
?>
没有时间进行测试,但是您明白了我的想法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.