0

これは、単純なハイスコア テーブルであると想定されています。しかし、データベースから別のプレーヤーを引き出すたびに、このようになります。

(テーブル ヘッダー)

プレーヤー

(テーブル ヘッダー)

プレーヤー

(テーブル ヘッダー)

プレーヤー

など、あなたは写真を手に入れます... プレーヤーのリストの一番上にヘッダーを一度だけ表示したい... 一度は動作していましたが、何を変更したのか覚えていませんこれを行う、誰もそれを修正する方法を知っていますか?

これが私のコードです:

<?php
$result = mysql_query("SELECT * FROM users ORDER BY explores DESC LIMIT 20;")  
or die(mysql_error());  
while($row = mysql_fetch_array( $result )) {
?>

<table class="reg-box" style="width: 600px; text-align: center;" align="center" cellspacing="5">
<tbody>
<tr> 
<th colspan="2">Trainer</th> 
<th colspan="2">Explores</th>
</tr>
<tr>
<td colspan="2"><?php echo "<a href=viewprofile.php?user=".$row['username'].">".$row['username']."</a>"; ?></td>
<td colspan="2"> <?php echo $row['explores']; ?></td>
</tr> 
</tbody>
</table>
<?php } ?>
4

1 に答える 1

1

コードの問題は、ループ内でテーブルが作成され、複数のヘッダーが発生することでした。代わりに、while ループからテーブルの作成を削除し、ループで起動したクエリから取得したすべての結果セットを更新してみてください。これを試して。

$result = mysql_query("SELECT * FROM users ORDER BY explores DESC LIMIT 20;")  
or die(mysql_error());  
?>
<table class="reg-box" style="width: 600px; text-align: center;" align="center" cellspacing="5">
<tbody>
<tr> 
<th colspan="2">Trainer</th> 
<th colspan="2">Explores</th>
</tr>
<?php
while($row = mysql_fetch_array( $result )) {
<tr>
<td colspan="2"><?php echo "<a href=viewprofile.php?user=".$row['username'].">".$row['username']."</a>"; ?></td>
<td colspan="2"> <?php echo $row['explores']; ?></td>
</tr> 
<?php } ?>
</tbody>
</table>
于 2013-04-03T11:27:13.860 に答える