2013-04-04 106 views
0

說我有一個查詢來獲取可能有不同架構的特定數據庫中的所有信息。Mysql獲取列名然後結果

例如,我可以具有:
DB1與[ID] [嗒嗒] [shibby] &
DB2與[ID] [yadda] [等等] [andsoforth]

然後我運行查詢這需要返回:
A)的字段名稱爲表頭
B)的結果轉換成

該查詢會被從窗體通孔柱,以便設置一些變量,以確定哪個數據庫生成的表格單元從中獲取信息。

以下將給我列名稱,但我需要填充其餘的實際結果。

echo "<table>"; 
echo "<tr>"; 
$qColumnNames = mysql_query("SHOW COLUMNS FROM ".$db) or die("mysql error"); 
$numColumns = mysql_num_rows($qColumnNames); 
$x = 0; 
while ($x < $numColumns) 
{ 
    $colname = mysql_fetch_row($qColumnNames); 
    $col[$colname[0]] = $colname[0]; 
    $x++; 
} 

foreach($col as $key){ 
    echo "<th>$key</th>"; 
} 
echo "</tr>"; 
echo "</table>"; 
+0

存在可能的答案:http://stackoverflow.com/questions/1526688/get-table-column-names-in-mysql和http://stackoverflow.com/questions/4165195/mysql-query-to-get-column-names – JoLoCo 2013-04-04 23:46:04

+0

雖然這兩者都會顯示列名,但它們不會填充結果。我需要列名和基於列名的結果。 – Rik 2013-04-04 23:56:06

回答

1

你說數據庫,但你是指表中的字段?你的第一部分 - get column names - 然後你會破滅那些成一個字符串從您的陣列和使用,在你的SELECT查詢:這裏

$query = "SELECT ".implode(",", $col)." FROM [tablename] ..."; 
+0

非常感謝你。 – Rik 2013-04-05 00:16:09