-2

MySQL テーブルからデータを取得しようとしているときに、テーブルが正しくレンダリングされません。基本的に、if ステートメントを使用して、何かが存在するかどうか (ユーザーが情報を投稿したかどうか) を確認し、存在する場合は、HTML テーブルにデータを表示する else 条件に進みます。これが、else ステートメントから始めたコードです。

else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<tr>".$row_job['subject']."</tr>";
}
mysqli_free_result($result_job);
echo "</table>";
}

幅、高さ、境界線を配置した理由は、テーブルがレンダリングされている場所と実際の情報がレンダリングされている場所を確認できるようにするためです。情報が表示されています。スペースを入れずに並べて表示しているだけ<tr>です。スクリーンショットは次のとおりです。

テーブルにデータが表示されない

クレイジーなことに、このページのソース コードを確認すると、次のようになっています。

<table border=1 width=200 height=200><tr>twkjljl</tr><tr>lkjljl</tr></table>

しかし、Google Chrome で要素を調べると、次のようになります。

検査要素

<td>そこで、コードを変更して表示するように変更し、正しくレンダリングすることをいくつか試しました。そのコードとスクリーンショットは次のとおりです。

else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200><tr>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<td>".$row_job['subject']."</td><br />";
}
mysqli_free_result($result_job);
echo "</tr></table>";
}

正しくレンダリングされたデータ

それは問題ありませんが、データを異なる列ではなく異なる行に表示したいので、コードのどこにエラーがあるのか​​ わかりません。世界で何が起こっているのですか?

4

5 に答える 5

4

<tr>ですべてのデータをカプセル化する必要がある後<td>

else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<tr><td>".$row_job['subject']."</td></tr>";
}
mysqli_free_result($result_job);
echo "</table>";
}
于 2012-11-09T19:42:38.007 に答える
1

テーブルに要素を表示するには、tr と td の両方が必要です。

     else{
         //BEGIN JOB POSTING
         echo "<table border=1 width=200 height=200>";
        while($row_job = mysqli_fetch_array($result_job))
        {
           echo "<tr><td>".$row_job['subject']."</td></tr>";
        }
          mysqli_free_result($result_job);
        echo "</table>";
     }

以下は、テーブルの 1 つの行です。

    <tr><td>row1</td></tr>

さらに列を追加する場合は、さらに 2 つの td を追加します。

于 2012-11-09T19:42:53.273 に答える
0

<tr><td>ペアで使用してみてください:

else{
//BEGIN JOB POSTING
echo "<table border=1 width=200 height=200>";
while($row_job = mysqli_fetch_array($result_job))
{
echo "<tr><td>".$row_job['subject']."</td></tr>";
}
mysqli_free_result($result_job);
echo "</table>";
}
于 2012-11-09T19:42:07.637 に答える
0

TR多くの表のセルで構成される表の行TDです。

したがって、HTML テーブルは次のようになります。

<table>
    <tbody>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </tbody>
</table>
于 2012-11-09T19:42:41.340 に答える
0

Mysqli Results の Iterator Support にPHP 5.4 を使用することを強くお勧めします。

foreach ($result_job as $row)
{
    echo "<tr><td>$row_job[subject]</td></tr>";
}

mysqli_*その PHP バージョンを使用できない場合(まさにその拡張機能が必要であるという意味で特に何もしていないと思います)、PDO代わりに拡張機能を使用してください。それはずっと前からそのサポートをしています。

于 2012-11-09T19:49:33.953 に答える