NAVIGATION
This shows you the differences between two versions of the page.
|
deutsch:andere-erweiterungen:hacks:formularergebnis-download-csv [2012/05/18 09:12] Knut Heermann (flip-flop) |
deutsch:andere-erweiterungen:hacks:formularergebnis-download-csv [2018/06/03 18:09] (current) |
||
|---|---|---|---|
| Line 3: | Line 3: | ||
| ====== Formularergebnis als CSV-Datei ====== | ====== Formularergebnis als CSV-Datei ====== | ||
| - | Mit diesem Hack kann die Auswertung der Formulareingaben die im BE beim CP Formular unter dem ##Download-Button## sichtbar wird als CSV-Datei abgespeichert werden. | + | Mit diesem Hack kann die Auswertung der Formulareingaben die im BE beim CP Formular unter dem ##Download-Button## sichtbar wird als CSV-Datei abgespeichert werden. \\ //([[http://de.wikipedia.org/wiki/CSV_(Dateiformat)]])// |
| Die hier vorgestellt Lösung fügt einen CSV Download-Link in die aufgerufene Download-Ausgabe unten an. \\ | Die hier vorgestellt Lösung fügt einen CSV Download-Link in die aufgerufene Download-Ausgabe unten an. \\ | ||
| Line 42: | Line 42: | ||
| **CMS Version:** >= 1.4 \\ | **CMS Version:** >= 1.4 \\ | ||
| **Version:** V1.0 17.05.2012 \\ | **Version:** V1.0 17.05.2012 \\ | ||
| - | **Update V1.1 18.05.2012:** Standardkonforme CSV-Ausgabe auch bei " und ; im Zellentext, \\ | + | **Update V1.1 18.05.2012:** Standardkonforme CSV-Ausgabe auch bei " und/oder einem Feldtrenner im Zellentext, \\ |
| siehe [[http://forum.phpwcms.org/viewtopic.php?p=135720#p135720]]. | siehe [[http://forum.phpwcms.org/viewtopic.php?p=135720#p135720]]. | ||
| Line 56: | Line 56: | ||
| ==== Codeschnipsel V1.1 (Hack) ==== | ==== Codeschnipsel V1.1 (Hack) ==== | ||
| - | **Update V1.1 18.05.2012:** Standardkonforme CSV-Ausgabe auch bei " und ; im Zellentext, \\ | + | **Update V1.1 18.05.2012:** Standardkonforme CSV-Ausgabe auch bei " und/oder einem Feldtrenner im Zellentext, \\ |
| siehe [[http://forum.phpwcms.org/viewtopic.php?p=135720#p135720]]. | siehe [[http://forum.phpwcms.org/viewtopic.php?p=135720#p135720]]. | ||
| + | Als Feldtrenner wird hier ein ##**;**## verwendet, einstellbar in der Variablen **$separator**, etwa in Zeile 140. | ||
| Erweiterung der Datei **include/inc_act/act_export.php** etwa ab Zeile 120. \\ | Erweiterung der Datei **include/inc_act/act_export.php** etwa ab Zeile 120. \\ | ||
| Line 86: | Line 87: | ||
| if(!$data) die('Just a problem!'); | if(!$data) die('Just a problem!'); | ||
| - | $separator =';'; // CSV-separator | + | $separator =';'; // CSV-Feldseparator |
| $export = array(); | $export = array(); | ||
| $row = 1; | $row = 1; | ||
| - | $export[0] = array('#ID'=>'','#Date'=>'','#IP'=>''); | + | $export[0] = array('#'=>'','#ID'=>'','#Date'=>'','#IP'=>''); |
| // run all data first and combine array elements | // run all data first and combine array elements | ||
| Line 95: | Line 96: | ||
| // numbering starting at 1 | // numbering starting at 1 | ||
| + | $export[$row]['#'] = $row; | ||
| $export[$row]['#ID'] = $value['formresult_id']; | $export[$row]['#ID'] = $value['formresult_id']; | ||
| $export[$row]['#Date'] = $value['formresult_createdate']; | $export[$row]['#Date'] = $value['formresult_createdate']; | ||
| Line 140: | Line 142: | ||
| $elements[$x] .= ''; | $elements[$x] .= ''; | ||
| - | if ( isset($export[$x][$key]) ) { | + | // if ( isset($export[$x][$key]) ) { |
| // // Nicht zwingen notwenig, nur um fuer HTML-Darstellung | // // Nicht zwingen notwenig, nur um fuer HTML-Darstellung | ||
| Line 149: | Line 151: | ||
| $export[$x][$key] = '"'.str_replace('"', '""', $export[$x][$key]).'"'; // Jede Spalte in "..." setzen | $export[$x][$key] = '"'.str_replace('"', '""', $export[$x][$key]).'"'; // Jede Spalte in "..." setzen | ||
| - | } | + | // } |
| - | + | $elements[$x] .= $export[$x][$key]; | |
| $elements[$x] .= $separator; // CSV-Trenner setzen | $elements[$x] .= $separator; // CSV-Trenner setzen | ||