MySQL: самый простой способ отобразить все данные из таблицы, получив TABLE_NAME olny (без информации о столбцах) на html-странице - PullRequest
1 голос
/ 19 ноября 2011

БД MySQL с именем "db2011" имеет несколько таблиц.

Использование переменной php $ tablename (имя таблицы правильное, таблица существует в БД), как отобразить данные из "db2011". $ Tablenameна html-странице?

Можно ли это сделать, выполнив всего 1 запрос - выбрать все данные по $ tablename?

Я думаю, что это можно сделать за 2 шага, но я спрашиваюлюбое лучшее решение (в случае, если это не подходит):

  • Шаг 1: Получить имена столбцов, выполнив "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = 'db2011' AND TABLE_NAME = '". $ tablename." '";

  • Шаг 2: Построить и выполнить запрос с помощью SELECT + список столбцов, разделенных запятой FROM $ tablename?

PS Я знаю, что данные могут быть огромными для отображения на странице HTML.Я ограничу его 100 строками.

Есть ли лучшие способы?

Спасибо.

Ответы [ 2 ]

3 голосов
/ 19 ноября 2011

Я предполагаю, что вы делаете это на PHP. Это может быть не элегантно, но он получает это в одном запросе. Я думаю, что вы хотите отобразить столбцы таблицы, а также данные в одном запросе.

<?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.
}
?>
2 голосов
/ 19 ноября 2011

Почему бы не просто SELECT * FROM $tablename limit 100;?

Вы бы вернули все имена столбцов в наборе результатов.Если вам не нужен тип столбца на вашей веб-странице, я бы выбрал только это

...