【问题标题】:Generate comments and textareas together in one table在一个表格中同时生成评论和文本区域
【发布时间】:2011-10-01 22:57:49
【问题描述】:
我在一个 mysql 表中有 cmets,每个表都有一个数字(等级)。我希望我的网站在页面上按最高数字排序这些 cmets。换句话说,所有的 cmets 都应该出现,但是根据它们的等级(一个 int)以降序排列。在每条评论下,我还想生成一个 textarea 来添加新的 cmets。我想这应该放在一张桌子上。我在生成表格时遇到了困难,因为行数会根据返回的帖子数量而变化。
这是我目前所拥有的:
<?php
include 'connect.php';
$get=mysql_query("SELECT * FROM table WHERE $x='comments'");
$numberofrows=mysql_num_rows($get);
while ($row=mysql_fetch_assoc($get)){
$comment=$row['comment'];
$rank=$row['rank'];
echo "<table>";
echo "</table>";
}
?>
【问题讨论】:
标签:
php
mysql
html-table
textarea
【解决方案1】:
要获得订单,请在您的 SQL 中使用 ORDER BY:
SELECT * FROM table WHERE comments=$x ORDER BY rank DESC
您应该将<table> 元素放在循环之外
echo '<table>';
while ($row=mysql_fetch_assoc($get)){
echo '<tr>'
echo "<td>$row['comment']</td>";
echo '</tr>';
echo '<tr>';
echo "<td><form> ... </form></td>";
echo '</tr>';
}
echo '</table>';
【解决方案2】:
<?php
include 'connect.php';
$get=mysql_query("SELECT * FROM table WHERE $x='comments'");
$numberofrows=mysql_num_rows($get);
echo '<table>';
while ($row=mysql_fetch_assoc($get)){
echo '<tr>'
echo "<td>$row['comment']</td>";
echo "<td>$row['rank']</td>";
echo '</tr>';
}
echo '<tr>
<td colspan="2">
<textarea></textarea>
</td>
</tr>';
echo '</table>';
?>