2011-07-09 4 views
2

mysqlテーブルにコメントを付けて、それぞれに番号(ランク)を付けます。私は、自分のサイトが、最も高い数字でソートされたページにこれらのコメントを載せたいと思っています。言い換えれば、すべてのコメントはランク(int)に基づいて降順で表示されるはずです。各コメントの下で、新しいコメントを追加するためのテキストエリアを生成したいと思います。私はこれがすべて一つのテーブルに入るべきだと思っている。投稿数に応じて行数が変わるため、テーブルの生成に時間がかかります。コメントとテキストエリアをまとめて1つのテーブルに生成する

これは私がこれまで持っているものです。

<?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>"; 
} 


?> 

答えて

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>'; 
を置く必要があります
+0

ありがとう私はテーブルを作ることについてどうすればいいのですか – kirby

+0

Okが更新されました、これはあなたが望むものだと思います –

1
<?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>'; 

?> 
関連する問題