0

異なるスキーマを持つ可能性のある特定のデータベース内のすべての情報を取得するクエリがあるとします。

たとえば、
DB1 with [id] [blah] [shibby] &
DB2 with [id] [yadda] [etc] [andsofor]

次に、返す必要があるクエリを実行します
。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>";
4

1 に答える 1

1

データベースと言いますが、テーブルのフィールドのことですか? 最初の部分 -列名の取得- があり、それらを配列から文字列に分解し、それを SELECT クエリで使用できます。

$query = "SELECT ".implode(",", $col)." FROM [tablename] ...";
于 2013-04-04T23:47:22.690 に答える