在表中显示多个表行

时间:2014-03-01 00:02:53

标签: php mysql

我有两个名为0_vrs_american0_vrs_europe的表,我需要在一个html表中显示这些表的行。所以我写了这段代码:

<?php
$con=mysqli_connect("localhost","aaa","bbb","my_mk7vrlist");

$result = mysqli_query($con,"SELECT 0_vrs_american.*, 0_vrs_europe.* FROM 0_vrs_american, 0_vrs_europe ORDER BY `vrs` DESC LIMIT 0 , 200");

while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $x . "</td>";
  echo "<td>" . $row['playername'] . "</td>";
  echo "<td>" . $row['contactable'] . "</td>";
  echo "<td>" . $row['vrs'] . "</td>";     
  echo "</tr>";
  $x = $x+1;
  }

mysqli_close($con);
?> 

我对MySQL很新,所以我搜索了这个主题,我发现了一个类似上面你可以看到的语法。顺便说一句,我的页面没有结果,因为表格是空的。

所以:我必须在HTML表格中显示两个sql表的内容,并且必须根据vrs(从50000到99000的数字)对行进行排序。我怎么能解决我的问题?

3 个答案:

答案 0 :(得分:2)

上面的替代方法是从这两个表中选择所有行作为内部选择,然后在返回的结果集中按vrs排序。

SELECT  *
    FROM
    (
       SELECT * FROM 0_vrs_american
       UNION
       SELECT * FROM 0_vrs_europe
    ) AS a
ORDER BY vrs

答案 1 :(得分:0)

首先你需要在循环之前定义$ x 然后使用像这样的查询

$result = mysqli_query($con,"SELECT 0_vrs_american.*, 0_vrs_europe.* FROM 0_vrs_american, 0_vrs_europe ORDER BY `vrs` DESC LIMIT 0 , 200") or die (__LINE__." ".mysqli_error($con));

因此您将看到错误和查询行

我只需添加or die (__LINE__." ".mysqli_error($con))

答案 2 :(得分:-1)

  1. 分开2个查询及其结果
  2. 将两个结果合并为一个数组
  3. 根据需要对数组进行排序
  4. 输出数组(生成表格行)