2014-03-01 4 views
2

나는 0_vrs_american0_vrs_europe이라는 2 개의 테이블을 가지고 있으며이 테이블의 행을 단일 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을 꽤 새로운 오전를 그래서 나는이 주제에 대해 검색 좀하고 난 당신이 위에서 볼 수있는 것과 같은 구문을 발견했다. 그런데 테이블이 비어있어 내 페이지에 결과가 없습니다.

그래서 : 나는 두 SQL 테이블의 내용을 HTML 테이블에 표시해야하며 행은 vrs (50000에서 99000까지가는 숫자)에 따라 정렬되어야합니다. 문제를 어떻게 해결할 수 있습니까?

+0

위 코드에 정확히 무엇이 잘못 되었습니까? – Ohgodwhy

+0

코드에서 두 테이블의 행을 일치 시키려고 시도합니다. 그것은 정말로 당신이 원하는 것입니까? 테이블에 각각 5 행과 3 행이 있으면 8 행을 표시 할 필요가 없습니까? BTW : mysqli 함수는 구형이며 PDO를 사용합니다. 그리고 HTML 코드로 오인되지 않을 수도 있다는 것을 완전히 확신하지 않는 한, 항상 htmlspecialchars()를 통해 문서 문자열을 출력하십시오! –

+1

@Lewyx Mysqli? 구식? 당신은 무엇에 대해 계속하고 있습니까 – Ohgodwhy

답변

2

대안 (표 열 생성)

  • 병합 2 개 질의와 ​​그 결과 개별 위의 두 테이블의 모든 행을 내부 선택으로 선택하고 반환 된 결과 집합에서 vrs 순으로 정렬합니다.

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

    이것은 대단합니다, 대단히 감사합니다! –

    -1
    1. 배열로 두 결과
    2. 정렬 필요
    3. 출력 배열과 배열에
    0

    처음에는 U 그래서 당신은 오류 쿼리의 라인 단지

    난을 볼 수 다음이

    $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)); 
    

    같은 쿼리를 사용하여 루프 전에 $의 X를 정의 할 필요가 or die (__LINE__." ".mysqli_error($con))