2011-09-08 4 views
0

테이블에 데이터 테이블을 그룹화 할 때 문제가 있습니다. 나는 만들었지 만 결과가 예상과 다를 것이라고 생각합니다.어떻게 데이터를 PHP로 그룹화하고 테이블 (테이블의 테이블)에 표시합니까?

<?php 

$conn=mysql_connect('localhost','root',''); 
mysql_select_db('things',$conn) or die ("Database Not Found"); 
$result = mysql_query("SELECT id, name, size, color FROM things ORDER BY color"); 
$state = -1; 
$no = 1;  

echo '<table border=1><tr><td>INDEX OF COLOR</td></tr><tr><td>'; 

    while($row = mysql_fetch_array($result)) { 

     if($state!= $row['color']) { 
      $no = 1; 
      echo '<tr bgcolor=yellow><td>'.$row['color']."</td></tr>"; 
      echo '<tr><td><table border=1><tr><th>no</th><th>NAME OF HERO</th></tr>'; 
      $state = $row['color']; 
     } 

     echo '<tr><td>'.$no.'</td><td>'.$row['name'].'</td></tr>'; 




     $no++; 

    } 

    echo '</td></tr></table>'; 

?> 

그 코드가 테이블에 잘못된 테이블을 생성합니다

은 예제 스크립트입니다. 원하는 결과는 색상 그룹 >> 세부 정보 (표)입니다.

나는이 :)

+-------------------+ 
| INDEX OF COLOR | 
+-------------------+ 
|RED    | 
+-------------------+ 
| +----------+  | 
| |HERO  |  | 
| +----------+  | 
| |ROBIN  |  | 
| +----------+  | 
| |INCREDIBLE|  | 
| +----------+  | 
+-------------------+ 
|BLUE    | 
+-------------------+ 
| +----------+  | 
| |HERO  |  | 
| +----------+  | 
| |SPIDEY |  | 
| +----------+  | 
| |SUPER MAN |  | 
| +----------+  | 
| |ICE MAN |  | 
| +----------+  | 
+-------------------+ 

이 사람이 나를 도울 수처럼 될 필요

, 왜이 코드를 잘못? 감사합니다. :)

+0

지금 어떤 결과가 나타 납니까? –

+0

현재 결과 : http://bahalabs.com/uploads/error.png – bijou

+0

제목이 모두 대문자 일 필요는 없습니다. 단지 2 센트. –

답변

0

나는 당신의 테이블이 그것이 필요로하는 것보다 훨씬 더 복잡하다고 생각한다. 나는 이것을 테스트하지는 않았지만 시도해보십시오.

$first_color = true; 
echo '<table border=1><tr><td>INDEX OF COLOR</td></tr>'; 

while($row = mysql_fetch_array($result)) { 

    if($state!= $row['color']) { 
     if(!$first_color) { 
      echo '</table></td></tr>'; 
      $first_color = true; 
     } 
     $no = 1; 
     echo '<tr bgcolor=yellow><td>'.$row['color']."</td></tr>"; 
     echo '<tr><td><table border=1><tr><td>no</td><td>NAME OF HERO</td></tr>'; 
     $state = $row['color']; 
    } 

    echo '<tr><td>'.$no.'</td><td>'.$row['name'].'</td></tr>'; 




    $no++; 

} 

echo '</table></td></tr></table>'; 
+0

: 디버그 용으로 $ sasas 만 남았습니다. 하하하는 그것을 제거하는 것을 잊었습니다. – bijou

+0

전에 고마워,하지만 자세한 내용은이 테이블의 부모 (색상) 테이블 형식입니다 http://bahalabs.com/uploads/right.png – bijou

+0

좋아, 내가 그것을 수정하고 다시 시도합니다. –

관련 문제