EuroCent
Klappstuhl 2.0
Hallo und guten Morgen zusammen,
ich sitze vor einer Herausforderung...
Ich habe in meiner Datenbank Tabelle Inhalt mit verschiedenen Parametern die für einen Report gebraucht werden.
Die Reports werden mit einem Intervall versehen (Tag, Woche, Monat).
In meinem Script möchte Ich zum einem den Report aufbauen und dann entsprechend per Mail versenden.
Und das soll pro Zeile aus der Datenbank passieren.
Der Report wird mittels PhpSpreadSheet erstellt.
Einen festen zu Definieren ist nicht möglich, da es immer unterschiedliche Reports sind.
Hoffe das einer eventuell einen Ansatz hat, wie Ich am besten vorgehe.
Mein aktueller Ansatz ist:
- Auslesen aus der Datenbank
- Aufbau der While-Schleife und Inhalt in ein Array speichern
- Array Filter und Mergen
- For Schleife um den Report pro Array-Inhalt aufbauen und genau hier Scheitere... :/
Mein Versuch:
ich sitze vor einer Herausforderung...
Ich habe in meiner Datenbank Tabelle Inhalt mit verschiedenen Parametern die für einen Report gebraucht werden.
Die Reports werden mit einem Intervall versehen (Tag, Woche, Monat).
In meinem Script möchte Ich zum einem den Report aufbauen und dann entsprechend per Mail versenden.
Und das soll pro Zeile aus der Datenbank passieren.
Der Report wird mittels PhpSpreadSheet erstellt.
Einen festen zu Definieren ist nicht möglich, da es immer unterschiedliche Reports sind.

Hoffe das einer eventuell einen Ansatz hat, wie Ich am besten vorgehe.
Mein aktueller Ansatz ist:
- Auslesen aus der Datenbank
- Aufbau der While-Schleife und Inhalt in ein Array speichern
- Array Filter und Mergen
- For Schleife um den Report pro Array-Inhalt aufbauen und genau hier Scheitere... :/
Mein Versuch:
PHP:
<?php
$test[] = array();
$sql_read_reports = "SELECT * FROM [mf_auto_report] WHERE [interval] = 'tag'";
$rs_read_reports = $mainPage->getDataFromDb($sql_read_reports);
while ($row = sqlsrv_fetch_array($rs_read_reports)) {
$id = $row['id'];
$json = unserialize($row['getjson']);
$test[$id] = $json;
}
$setSheatHeader = "";
$setSheetContent = "";
$klarnamen = array(
'mf_id' => 'MFID',
'betreff' => 'Betreff',
'trackid' => 'TrackingID',
'Datumsfeld' => 'Datum',
'Kundennummer' => 'Kundennummer',
'Produkt' => 'Produkt',
'Stoerungsbeschreibung' => 'Beschreibung',
'von' => 'Absender',
'erstelldatum' => 'erstellt',
'versanddatum' => 'versandt',
'an' => 'Empfaenger',
'bcc' => 'Blind',
'cc' => 'Kopie',
'replyto' => 'Reply'
);
for ($i = 0; $i < count($test); $i++) {
$alphabethArray = array('A', 'B', 'C', 'D', 'E', 'F', 'I', 'J', 'K', 'L', 'M', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z');
$alphCount = 0;
$setSheatHeader .= "/* REPORT FÜR {$i} */\r";
foreach ($test[$i]['datas'] as $key => $value) {
if ($value['feld_name'] != '') {
$setSheatHeader .= "\$sheet->setCellValue('{$alphabethArray[$alphCount]}1', '{$klarnamen[$value['feld_name']]}');\r";
$setSheetContent .= " \$sheet->setCellValue('{$alphabethArray[$alphCount]}' . \$cell, rawurldecode(\$row['{$value['feld_name']}']));\r\n";
$alphCount++;
}
}
}
?>