2014-03-01 47 views
2

我有兩個表叫做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相當新的,所以我用Google搜索這個話題,我發現像一個你可以在上面看到的語法。順便說一句,我的頁面沒有結果,因爲表格是空的。

因此:我必須在HTML表格中顯示兩個sql表格的內容,並且行必須按照vrs(從50000到99000的數字)排序。我怎麼能解決我的問題?

+0

上面的代碼究竟出錯了什麼 – Ohgodwhy

+0

您試圖匹配代碼中兩個表的行。它真的是你想要的嗎?如果表格分別有5行和3行,你不需要顯示8行嗎? BTW:mysqli函數已經過時,使用PDO;並始終通過htmlspecialchars()輸出文檔字符串,除非您完全肯定它不會被誤解爲HTML代碼! –

+1

@ Lewyx Mysqli?過時?你在做什麼關於 – Ohgodwhy

回答

2

的替代方法以上是選擇這兩個表中的所有行作爲內部選擇,然後在返回的結果集中按vrs排序。

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

這真棒,非常感謝你! –

-1
  1. 獨立的2個查詢及其結果
  2. 合併兩個結果到一個數組
  3. 陣列根據需要
  4. 輸出的數組排序(生成表中的行)
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)); 

查詢,所以你會看到錯誤和查詢的行

我只是add or die (__LINE__." ".mysqli_error($con))