2014-01-29 4 views
1

Предположим, у меня есть заявление SQL, который выглядит как:Динамическая таблица Итерация PHP MySql

SELECT * FROM myTable; 

Теперь обратно в PHP У меня есть результирующий массив $ результат [] Как я могу перебирать этот массив и распечатывать если я не знаю имена столбцов? Могу ли я как-то допросить массив?

Фон: У меня есть таблица, я отобразил заголовки таблиц на основе таблицы метаданных, теперь мне нужно заполнить данные, но я хочу только вытащить имена полей, соответствующие заголовкам таблицы, и вставить их в таблицу HTML.

Этот процесс происходит динамически, каждая таблица отличается и имеет разные имена полей (обнаруженные путем опроса метаданных), но разделяет один и тот же PHP-код, поэтому он должен быть гибким и достаточно умным, чтобы понять, что делать.

+0

Вы всегда можете использовать 'key' ассоциативного массива, который будет ваше имя столбца. – Rikesh

ответ

1

Редактировать: теперь я понимаю, что ваш $ result представляет собой массив массивов массивов .

foreach ($result as $row) { 
    foreach ($row as $key => $value) { 
     print "column $key has value $value\n"; 
    } 
} 

Или вы можете вызвать array_keys($row) вернуть ключи ассоциативного массива.

+0

Я вижу, куда вы идете, и это имеет общий смысл, но когда я перехожу к echo $ value, это ошибки (Array to string conversion) и просто печатает массив слов – metaDNA

+0

Disregard, $ result был многомерным массивом, второй foreach() – metaDNA

0

В этом случае вы можете использовать цикл foreach с парой ключ-значение.

Вы можете использовать его, как это,

foreach($result as $key=>$value) { 
    //$key returns the key of $result array 
    //$value returns the respective value of that key 
} 
Смежные вопросы