2011-10-05 5 views
0

비교 페이지를 만들고 싶습니다. 나는 현재 정보가 담긴 두 개의 테이블을 가지고 있지만 테이블에 있거나 둘 다 함께 결합하기를 원합니다. 첫 번째 줄에는 브랜드 이름이 표시되고 두 번째 줄에는 비용 등이 표시됩니다 ... 선택한 체크 박스의 값을 잡아서 선택한 항목을 기준으로 비교합니다.어떻게이 두 html 테이블을 함께 연결할 수 있습니까?

$testName = $_POST['testCompare']; 
$rpl = str_replace("_", " ", $testName); 
$firstOne = "$rpl[0]"; 
$secondOne = "$rpl[1]"; 
echo "$firstOne"; 
echo "<br/>"; 
echo "$secondOne"; 

$query = "SELECT * FROM test_table WHERE test_name = '$firstOne'"; 
$query2 = "SELECT * FROM test_table WHERE test_name = '$secondOne'"; 
$result = mysql_query($query) or die ("Error in query: $query. " . mysql_error()); 
$result2 = mysql_query($query2) or die ("Error in query: $query2. " . mysql_error()); 

if (mysql_num_rows($result) > 0 && mysql_num_rows($result2) > 0) { 

//if (mysql_num_rows($result) > 0) { 

    while($row = mysql_fetch_row($result)) {    
     if ($firstOne == $row[1]) { 
     { 
      echo "<table border=1>";    
      echo "<tr>"; 
      echo "<td>" . $row[0] . "</td>"; 
      echo "<tr>"; 
      echo "<td>" . $row[1] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row[2] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row[3] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row[4] . "</td>"; 
      echo "</tr>"; 
      } 
     } 
     }echo "</table>"; 

    while($row2 = mysql_fetch_row($result2)) {   
     if ($secondOne == $row2[1]) { 
     { echo "<table border=1>";   
      echo "<tr>"; 
      echo "<td>" . $row2[0] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row2[1] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row2[2] . "</td>"; 
      echo "</tr>"; 
      echo "<tr>"; 
      echo "<td>" . $row2[3] . "</td>"; 
      echo "</tr>"; 
      echo "<td>" . $row2[4] . "</td>"; 
      echo "</tr>"; 
      } 
     } 
     } 
     echo "</table>"; 
    } 
else { 
     echo "No Results"; 
    }[/CODE] 

감사

+0

데이터베이스 테이블의 구성표를 표시 할 수 있습니까? 또한 누군가 다른 사람이 그 일에 몰두하기 전에 사용자 입력을 벗어나지 않으면 서 SQL 삽입 취약점을 갖습니다. 즉'$ _POST' 변수를 살균하지 않고 통과시킵니다. –

+0

질문과 관련이 없지만 코드가 믿을 수 없을 정도로 안전하지 않습니다. 입력 내용에 대한 위생 처리를 수행 할뿐만 아니라 쿼리에 자리 표시자를 사용하지 않습니다. – CanSpice

답변

2
  1. 첫 번째 루프 후 </table>를 제거합니다.
  2. <table border=1>두 루프에서 제거하십시오.
  3. 첫 번째 루프 전에 <table border=1을 추가하십시오.

현재 루프를 입력 할 때마다 <table border=1>을 새로 정의합니다. 그러면 다음 HTML 코드가 표시됩니다.

<table ..> 
<tr>... 
<table ..> 
.. 
<table> 
.. 
Et cetera 
</table> 
<table ..> 
Et cetera 
</table> 
+0

두개의 테이블을 서로 나란히 놓고 싶다면 (수평 적으로) 두 번째 루프에서 $ loop2 = mysql_fetch_row ($ result2)를 첫 번째 루프로 이동하고 각 요소에 대해 ''을 추가하면 HTML은 ''와 유사합니다. **이 메소드를 사용하려면 두 개의 결과가 같은 수의 요소 **를 가져야합니다. –

관련 문제