在 3 行中显示 SQL 数据


Display SQL data in 3 rows

我最近调整了一个分页脚本来显示我的mySQL数据库。它看起来相当不错,但有一件事我想改变。

以下是脚本现在的外观:http://gyazo.com/7ef0d74caa781ab3e5f72a9935bcd7d0.png

它看起来不错,但右侧有很多额外的空间。所以我想我想在右侧添加同样的东西,另外 2 列包含更多信息。在这种情况下,只有 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 的变化并继续这样做。谁能对这个主题有所了解?

如果我

是你,我会用一个表格来显示这些结果:

<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;
?>

没有时间测试它,但你抓住了我的想法。

你需要

一个模。我在这个线程上对如何使用它们进行了更深入的讨论如何在div 中使用 foreach 进行迭代?