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>";
}
それは問題ありませんが、データを異なる列ではなく異なる行に表示したいので、コードのどこにエラーがあるのか わかりません。世界で何が起こっているのですか?