PHP表不显示所有数据

时间:2011-11-27 22:46:33

标签: php mysql html-table

我有一张表格,显示用户就产品撰写的评论。我遇到的问题是表格没有显示表格中的所有内容。换句话说,我想要显示的数据即将出现但不是全部数量。

这是我桌子的代码:

<?php

$result = mysql_query("SELECT * FROM reviews WHERE serial = '$id'")
or die(mysql_error()); ;

if (mysql_num_rows($result) == 0) {
       echo 'There Arent Any Reviews Yet';
    } else {

echo "<table width=100% border='6'><tr><th>Comments/Thoughts</th><th>Ratings</th><th>Date</th><th>User</th>";
while($info = mysql_fetch_array($result))
{
        echo "<tr>";
        echo "<td>" . $info['review']. "</td>";
        echo "<td>" . $info['ratings']. " Stars</td>";
        echo "<td>" . $info['date']. "</td>";
        echo "<td>" . $info['user']. "</td>";
        }
    }
echo "</tr>";
echo "</table>";
?>

当用户输入评论时,只会显示表格中的几个字。似乎有多少书面评论可以显示,但我不知道在哪里可以改变这个价值。

2 个答案:

答案 0 :(得分:0)

您的</tr>位置错误:

    while($info = mysql_fetch_array($result))
    {
        echo "<tr>";
        echo "<td>" . $info['review']. "</td>";
        echo "<td>" . $info['ratings']. " Stars</td>";
        echo "<td>" . $info['date']. "</td>";
        echo "<td>" . $info['user']. "</td>";
        echo "</tr>";
    }
}
echo "</table>";
?>

看起来$id未在代码中的任何位置设置。尝试将它放在代码的顶部:

$id = mysql_real_escape_string($_GET['id']);

答案 1 :(得分:0)

您的while循环需要包含<tr>标记(a.k.a表格行标记)才能正确形成表格。您还有一个格式错误的表格标题。

echo "<table width=100% border='6'>
          <tr> 
              <th>Comments/Thoughts</th>
              <th>Ratings</th>
              <th>Date</th>
              <th>User</th>
          </tr>"; // Missing TR here also!!
while($info = mysql_fetch_array($result))
{
        echo "<tr>";
        echo "<td>" . $info['review']. "</td>";
        echo "<td>" . $info['ratings']. " Stars</td>";
        echo "<td>" . $info['date']. "</td>";
        echo "<td>" . $info['user']. "</td>";
        echo "</tr>";
}
echo "</table>";