我有一个表,我正在显示用户当前攻击lvl和用户名。在该表中我还有两列我想显示玩家exp和玩家排名。
我遇到的问题是玩家的体验是在不同的表格中,我不知道如何制作另一个阵列来根据从第一个阵列中提取的用户名来提取玩家体验。并且排名可以通过第一个数组实现,但我不知道如何使每个循环显示一个升序数字。
<table align="center">
<tr>
<th colspan="4"><font color="#d3d3d3">Attack Leaders</th>
</tr>
<tr>
<th width="100"><font color="#d3d3d3">Rank</th>
<th width="100"><font color="#d3d3d3">Username</th>
<th width="100"><font color="#d3d3d3">Experience</th>
<th width="100"><font color="#d3d3d3">Level </th>
</tr>
<?php
$sql = "SELECT user, cur_attack FROM curstats order by cur_attack desc LIMIT 25";
$result = mysql_query($sql) or die(mysql_error());
$user = $cut_attack = array();
while($row = mysql_fetch_assoc($result)) {
$user[] = $row['user'];
$cur_attack[] = $row['cur_attack'];
?>
<tr>
<td align="center"><font color="#d3d3d3"></font></td>
<td align="center"><font color="#d3d3d3"><?php echo $row['user'];?></font></td>
<td align="center"><font color="#d3d3d3"></font></td>
<td align="center"><font color="#d3d3d3"><?php echo $row['cur_attack'];?></font> </td></tr>
<?php
}
?>
</table
以下是此页面的链接:
好吧,我按照你展示的方式写了查询,现在我在字段列表中得到列'用户'是不明确的
$sql = "SELECT user, cur_attack , experience.*
FROM curstats
LEFT JOIN experience
ON curstats.user = experience
order by cur_attack desc LIMIT 25";
$result = mysql_query($sql) or die(mysql_error());
$user = $cur_attack = $exp_attack = array();
while($row = mysql_fetch_assoc($result)) {
$user[] = $row['user'];
$cur_attack[] = $row['cur_attack'];
$exp_attack[] = $ROW['exp_attack'];
?>
<tr>
<td align="center"><font color="#d3d3d3"></font></td>
<td align="center"><font color="#d3d3d3"><?php echo $row['user'];?></font></td>
<td align="center"><font color="#d3d3d3"></font><?php echo $row['exp_attack']; ?></td>
<td align="center"><font color="#d3d3d3"><?php echo $row['cur_attack'];?></font> </td></tr>
答案 0 :(得分:1)
只需在查询中使用联接
SELECT
c.user,
c.cur_attack,
e.exp_attack
FROM curstats c
LEFT JOIN experience e
ON c.user = e.user
ORDER BY c.cur_attack desc LIMIT 25