2011-09-07 5 views
-2

여기서 $ table 변수에 저장된 테이블 이름에서 필드 이름을 가져 오려고합니다. 필드 이름의 테이블 헤더를 만들고 싶습니다. 어떻게 내가 노력이 접근 방식의 잘못 :데이터베이스 결과에서 필드 이름 가져 오기

<?php 

    $sql=mysql_query("show fields from $table"); 
    if(mysql_num_rows($sql)) 
    while($res = mysql_fetch_object($sql)) 
    { 
    ?> 
    <th><?php echo $res->field; ?></th> 


    <? 
     } 
     else 
     { 
     echo "No data to display"; 
     } 



     ?> 
+0

변경 $의 RES-> 필드; ~ $ res-> fields; –

+0

@JapanPro, 아니'field' 올바른 : http://dev.mysql.com/doc/refman/5.0/en/show-columns.html – binarious

+1

질문 제목을 수정하십시오. 질문을 전혀 설명하지 않습니다. –

답변

0

쿼리를 사용 mysql_fetch_assoc()

$sql=mysql_query("show columns from $table"); 
+0

나는 지금 바뀌 었습니다. 그러나 가져온 결과가 없습니다. ( – Bala

+0

테이블 구조 나 테이블의 데이터를 표시 하시겠습니까? 둘 다 원한다면 CodeCaster의 대답을보십시오! – binarious

+0

난 단지 열 이름을 표시하고 싶습니다. 내 html 테이블의 헤더로 데이터베이스 테이블 – Bala

2
$printTHs = true; 
while($res = mysql_fetch_assoc($sql)) 
{ 
    if ($printTHs) 
    { 
     printTableHeader($res); 
     $printTHs= false; 
    } 

    echo "<tr>"; 

    foreach($res as $val) 
    { 
     echo "<td>" . $val . "</td>"; 
    } 

    echo "</tr>"; 

} 

function printTableHeader($res) 
{ 

    echo "<tr>"; 

    foreach($res as $col => $val) 
    { 
     echo "<th>" . $col . "</th>"; 
    } 

    echo "</tr>"; 
} 
+0

결과의 첫 번째 행은 건너 뜁니다. – Narf

+0

@Naf : 왜 그게? –

+0

@ Narf : 네 말이 맞아. 편집을 참조하십시오. – CodeCaster

0

하고 다음 array_keys()를 사용하여 키를 얻을 수있다. 그러면 모든 키가있는 배열이 반환됩니다.

사용 foreach()는 테이블 헤더

0

하지 최적의 솔루션을 얻을 수 있지만, 그것을 할 것입니다 :

$results = mysql_query('SELECT * FROM ' . $table); 
if (mysql_num_rows($results)) 
{ 
    echo '<table>'; 
    $first = TRUE; 

    while ($row = mysql_fetch_assoc($results)) 
    { 
     if ($first = TRUE) 
     { 
      echo '<tr>'; 

      foreach ($row as $k => $v) 
       echo '<th>' . $k . '</th>'; 

      echo '</tr>'; 
      $first = FALSE; 
     } 

     echo '<tr>'; 

     foreach ($row as $column) 
      echo '<td>' . $column . '</td>'; 

     echo '</tr>'; 
    } 

    echo '</table>'; 
} 
관련 문제