diff --git a/vilesci/statistik/statistik_sql.php b/vilesci/statistik/statistik_sql.php
index 1338d6380..0cbba5e93 100644
--- a/vilesci/statistik/statistik_sql.php
+++ b/vilesci/statistik/statistik_sql.php
@@ -26,8 +26,14 @@ if(!isset($_GET['statistik_kurzbz']))
die('Statistik_kurzbz Parameter fehlt');
$statistik_kurzbz = $_GET['statistik_kurzbz'];
-
-echo '
@@ -54,12 +60,12 @@ $statistik = new statistik();
if(!$statistik->load($statistik_kurzbz))
die($statistik->errormsg);
-echo 'Statistik - '.$statistik->bezeichnung.'
';
+$html.= 'Statistik - '.$statistik->bezeichnung.'
';
if($statistik->sql!='')
{
$sql = $statistik->sql;
- foreach($_POST as $name=>$value)
+ foreach($_REQUEST as $name=>$value)
{
$sql = str_replace('$'.$name,addslashes($value),$sql);
}
@@ -67,30 +73,46 @@ if($statistik->sql!='')
$db = new basis_db();
if($result = $db->db_query($sql))
{
- echo '';
- echo '';
+ $html.= '';
+ $html.= '';
$anzahl_spalten = $db->db_num_fields($result);
for($spalte=0;$spalte<$anzahl_spalten;$spalte++)
{
- echo '| '.$db->db_field_name($result,$spalte).' | ';
+ $html.= ''.$db->db_field_name($result,$spalte).' | ';
+ $csv.='"'.$db->db_field_name($result,$spalte).'",';
}
- echo '
';
+ $html.= '';
+ $csv=substr($csv,0,-1)."\n";
while($row = $db->db_fetch_object($result))
{
- echo '';
+ $html.= '
';
$anzahl_spalten = $db->db_num_fields($result);
for($spalte=0;$spalte<$anzahl_spalten;$spalte++)
{
$name = $db->db_field_name($result,$spalte);
- echo '| '.$row->$name.' | ';
+ $html.= ''.$row->$name.' | ';
+ $csv.= '"'.$row->$name.'",';
}
- echo '
';
+ $html.= '';
+ $csv=substr($csv,0,-1)."\n";
}
- echo '
';
+ $html.= '
';
}
}
else
{
- echo 'Zu dieser Statistik gibt es keine SQL Abfrage';
+ $html.= 'Zu dieser Statistik gibt es keine SQL Abfrage';
}
-?>
\ No newline at end of file
+switch ($outputformat)
+{
+ case 'html':
+ echo $html;
+ break;
+ case 'csv':
+ echo $csv;
+ break;
+ case 'json':
+ $array= array_map("str_getcsv",explode("\n", $csv));
+ echo json_encode($array);
+}
+?>