0

だから私は、ユーザーが何らかの報酬と引き換えるために使用されるコードを含む小さなシステムに取り組んできました。

これまでのところ、PHP と HTML でこのスクリプトを使用しています: http://pastebin.com/UUsEKpev

ここで見ることができる結果は 1 つしか表示されていません。すべての結果を下に表示するテーブルに複数の結果を表示したいと考えています。

<?php

$yn;
mysql_connect("localhost", "root", "password") or die(mysql_error());
mysql_select_db("mcv") or die(mysql_error());

$result = mysql_query("SELECT * FROM Codes")
or die(mysql_error());  

$row = mysql_fetch_array( $result );
// Print out the contents of the entry 

if ($row['Used'] == 1) {
    $yn = "Yes";
}
else{
    $yn = "No";
}

?>

<html>
<head>
    <title>Minecraft Codes</title>
    <style type="text/css">

    tbody {
        display: table-row-group;
        vertical-align: middle;
        border-color: inherit;
    }

    tr {
        display: table-row;
        vertical-align: inherit;
        border-color: inherit;
    }

    th {
        border: 1px solid #C3C3C3;
        padding: 3px;
        vertical-align: top;
        width: 20%;
        background-color: #E5EECC;
    }

    table.reference {
        background-color: white;
        border: 1px solid #C3C3C3;
        border-collapse: collapse;
        width: 50%;
    }

    table.reference td {
        border: 1px solid #C3C3C3;
        padding: 3px;
        vertical-align: top;
        width: 20%;
    }

    table, th, td, input, textarea {
        font-size: 100%;
    }

    body, p, h1, h2, h3, h4, table, td, th, ul, ol, textarea, input {
        font-family: verdana,helvetica,arial,sans-serif;
    }

    </style>
</head>

<body>
    <center>
        <br />
        <h1><u>Minecraft Server VIP Codes</u></h1>
        <br />

        <table class="reference">
            <tr>
                <th>Code</th>
              <th>Used?</th>
          </tr>
          <?php echo "<tr><td>".$row['Code']."</td><td>".$yn."</td></tr>"; ?>
        </table>
    </center>
</body>
</html>
4

3 に答える 3

1
<table class="reference">
    <tr>
        <th>Code</th>
        <th>Used?</th>
    </tr>

    <?php while ($row = mysql_fetch_array($result)): ?>
    <?php 
        if ($row['Used'] == 1) {
            $yn = "Yes";
        }
        else{
            $yn = "No";
        }
    ?>
    <tr>
        <td><?php echo $row['Code']; ?></td>
        <td><?php echo $yn; ?></td>
    </tr>
    <?php endwhile; ?>
</table>
于 2012-10-21T19:00:08.857 に答える
1

あなたの問題は、1行しかフェッチしていないことです:

$row = mysql_fetch_array( $result );

その行は、結果セットの現在の行をフェッチします。あなたはループでそれをしたい:

$rows = array();
while ($row = mysql_fetch_array($result)) {
    $rows[] = $row;
}

mysql_ 関数の使用を避けることができる場合、それらは非推奨です。 ここで巨大な警告を参照し、これをお読みください

于 2012-10-21T18:56:32.057 に答える
0

そうです、あなたは mysql_fetch_row() を 1 回だけ呼び出すので、1 行しか取得しません。行の数だけ実行されるループにそれをラップする必要があります。

インターネット上には何百万もの例があり、そこから学ぶことができます...

于 2012-10-21T18:55:47.163 に答える