From 69d49e30c57dd4e215096defcf06379657c030b5 Mon Sep 17 00:00:00 2001 From: Jakub Vrana Date: Thu, 9 Aug 2012 08:57:45 -0700 Subject: [PATCH] Support same name fields in CSV export --- adminer/include/adminer.inc.php | 17 ++++++++++++----- changes.txt | 2 ++ 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/adminer/include/adminer.inc.php b/adminer/include/adminer.inc.php index 791170f8..a6e4e8a4 100644 --- a/adminer/include/adminer.inc.php +++ b/adminer/include/adminer.inc.php @@ -672,25 +672,32 @@ DROP PROCEDURE adminer_alter; if ($result) { $insert = ""; $buffer = ""; - while ($row = $result->fetch_assoc()) { + $keys = array(); + while ($row = $result->fetch_row()) { + if (!$keys) { + foreach ($row as $val) { + $field = $result->fetch_field(); + $keys[] = $field->name; + } + } if ($_POST["format"] != "sql") { if ($style == "table") { - dump_csv(array_keys($row)); + dump_csv($keys); $style = "INSERT"; } dump_csv($row); } else { if (!$insert) { - $insert = "INSERT INTO " . table($table) . " (" . implode(", ", array_map('idf_escape', array_keys($row))) . ") VALUES"; + $insert = "INSERT INTO " . table($table) . " (" . implode(", ", array_map('idf_escape', $keys)) . ") VALUES"; } foreach ($row as $key => $val) { - $row[$key] = ($val !== null ? (ereg('int|float|double|decimal|bit', $fields[$key]["type"]) ? $val : q($val)) : "NULL"); //! columns looking like functions + $row[$key] = ($val !== null ? (ereg('int|float|double|decimal|bit', $fields[$keys[$key]]["type"]) ? $val : q($val)) : "NULL"); //! columns looking like functions } $s = implode(",\t", $row); if ($style == "INSERT+UPDATE") { $set = array(); foreach ($row as $key => $val) { - $set[] = idf_escape($key) . " = $val"; + $set[] = idf_escape($keys[$key]) . " = $val"; } echo "$insert ($s) ON DUPLICATE KEY UPDATE " . implode(", ", $set) . ";\n"; } else { diff --git a/changes.txt b/changes.txt index 5a07dbf9..300678b4 100644 --- a/changes.txt +++ b/changes.txt @@ -1,4 +1,6 @@ Adminer 3.5.1-dev: +Support same name fields in CSV export +Support Shift+click in export Adminer 3.5.0 (released 2012-08-05): Links for column search in select