1

「db2011」という名前の MySQL データベースには、いくつかのテーブルがあります。

PHP 変数 $tablename (テーブル名は正しく、テーブルは db に存在します) を使用して、"db2011".$tablename からのデータを html ページに表示するにはどうすればよいですか?

$tablename ですべてのデータを選択するという 1 つのクエリを実行するだけで実行できますか?

2つのステップで実行できると思いますが、より良い解決策を求めています(これが良くない場合に備えて):

  • Step1: "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='db2011' AND TABLE_NAME='".$tablename."'"; を実行して列名を取得します。

  • ステップ 2: SELECT + カンマで区切られた列のリストでクエリを作成して実行する FROM $tablename?

PS私は、htmlページに表示されるデータが巨大になる可能性があることを知っています。100行で制限します。

より良い方法はありますか?

ありがとうございました。

4

2 に答える 2

3

PHPでこれを行っていると仮定しています。エレガントではないかもしれませんが、1 回のクエリで取得できます。テーブルの列とデータを 1 つのクエリで表示したいと思います。

<?php

$sql = "SELECT * FROM $tablename";
$res = mysql_query($sql);
$firstpass = TRUE;
while($row = mysql_fetch_assoc($res)){
    if($firstpass){
        foreach($row as $key => $value) {
           //store all the column names here ($key)
           $firstpass = FALSE;
        }
    }
    //Collect all the column information down here.
}
?>
于 2011-11-18T20:54:33.103 に答える
2

なぜだけではないのSELECT * FROM $tablename limit 100;ですか?

結果セットにすべての列名が返されます。あなたがあなたのウェブページの列タイプも必要としない限り、私はそれだけで行きます

于 2011-11-18T20:48:07.297 に答える