多个数组显示在一个表中

时间:2013-12-30 00:06:44

标签: php mysql sql arrays

我有一个表,我正在显示用户当前攻击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>

1 个答案:

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