0

私は最近、mySQL データベースの表示で動作するようにページネーション スクリプトを調整しました。見た目はかなりいいのですが、1つだけ変更したい点があります。

スクリプトは次のようになります: 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 の変更を認識してそのように処理する方法が必要であることに気付きました。誰かが主題に光を当てることができますか?

4

2 に答える 2

0

私があなたなら、表を使用してこれらの結果を表示します。

<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-14T03:26:09.020 に答える