Я знаю, что я могу получить имена столбцов / полей из базы данных, используя: SHOW COLUMNS FROM tablename
… но есть ли способ получить возвращаемые столбцы, а также содержимое, поэтому мое возвращение будет примерно таким:
array [0] [0] = имя столбца 1
array [0] [1] = имя столбца 2
array [0] [2] = имя столбца 3
array [1] [0] = значение столбца 1 строка 1
array [1] [1] = значение столбца 2 строки 1
array [1] [2] = значение столбца 3 строки 1
…
Я хочу создать объект JSON
jsonObj = {item 1 {
имя столбца 1: значение столбца 1 строка 1,
имя столбца 2: значение столбца 2 строки 1,
column 3 name: column 3 row 1 value …
Изменить: я должен добавить, что знаю, что имена полей возвращаются с результатами запроса
(SELECT * FROM sometable), и если вы используете
while ($row = mysql_fetch_array($results)) { $thisfield = $row['fieldname']; }
Но как я могу получить к ним доступ (имена полей), когда я их не знаю?
используйте mysql_fetch_assoc – он вернется
array ("name" => "value", "name2" => "value2" …);
затем используйте json_encode ($ data)
Использование mysql_fetch_assoc()
или эквивалент в любой используемой библиотеке БД предоставит имена столбцов в виде ключей массива.
$results = array(); while ($row = mysql_fetch_assoc($db_result)) { $results[] = $row; } foreach ($results as $column=>$value) { // loop over $column and $value }