2012-01-20 12 views
0

テーブルを作成してからヘッダをハードコードするのではなく、テーブル内のフィールドを使うよりも、mysqlテーブルのデータを表示する方が良い方法はありますか?関数は非推奨、それが行う方法の一例を示していている:PHP MySQLテーブル、再利用可能

私は現在やっている何のための擬似コードは、あなたがmysql_list_fields()

EDITを使用して、テーブルヘッダを生成することができます

<table> 
<tr> 
    <th>I am </th><th> harcoded</th> 
</tr> 
mysql loop through data 
for all fields 
while($row = mysql_fetch_assoc($result)){ 
    <tr> 
    <td>data 
    </td> 
    <td>data 
    </td> 
    </tr> 
} 
</table> 

答えて

1

私は通常、このような何か:あなたがリンクするページがmysql_list_fieldsは非推奨されていることを言及し、ここで私が使用して、私は数年前に書いた関数は時々だ

function EZ_TBL ($all_rows, $first_row_headers=TRUE) 
{ 

$tr = array(); 

if ($first_row_headers) 
{ 
    $td = array(); 
    foreach ($all_rows[0] as $k=>$v) 
    { 
     if ($k == 'sort_order') continue; 
     $td[] = strtoupper ($k); 
    } 

    $tr[] = '<td class="header_row">' . implode ('</td><td class="header_row">', $td) . '</td>'; 
} 

usort ($all_rows, 'sort_by_sort_order'); 

foreach ($all_rows as $row) 
{ 
    $td = array(); 
    foreach ($row as $k=>$v) 
    { 
     if ($k == 'sort_order') continue; 

     if ($k == 'url') 
     { 
      $td[] = '<a href="' . $v . '">' . $v . '</a>'; 
     } else { 
      $td[] = $v; 
     } 
    } 
    $tr[] = '<td>' . implode ("</td>\n<td>", $td) . '</td>'; 
} 

return '<table><tr>' . implode ("</tr>\n<tr>", $tr) . '</tr></table>'; 
} 
1

ですそれはクエリを発行することによって行われます。

+0

$header_done = false; while($rs = mysql_fetch_assoc($result)) { if (!$header_done) { echo "<tr>"; foreach ($rs as $k=>$v) { echo "<td>" . htmlspecialchars ($k) . "</td>"; } $header_done = true; echo "</tr>"; } // etc... } 

が更新をmysql_queryを "SQL SHOW COLUMNS"文で使用する –

+0

@George Pittarelliこれを指摘してくれてありがとう、私は答えを更新しました。乾杯! – spidEY

関連する問題