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 回答