Servus!
Folgender Code:
Dann greife ich auf dieses Array-in-Array zu:
Um es kurz zu erklären: Ich habe eine Tabelle mit Firmen und deren Dokumenten, die Funktion checkDocuments() gibt ein array zurück welche Dokumente unter welchen Umständen notwendig sind, die Werte sind ident mit den keys (=Spaltennamen in der Datenbank). Wenn ein key in dem Rückgabearray ist, dann soll unter anderem eine Ausgabe erfolgen.
Jetzt zu meinem Problem:
Die Ausgabe mit echo $key ist natürlich nicht sehr schön. Die Spaltennamen haben logischerweise keine Umlaute und Leerzeichen, der Output schaut also nicht schön aus und ist nicht leicht verständlich. Ich kann aber auch nicht bei der SQL-Query ein "SELECT Doc1 AS 'Dokument #1 (irgendwas)'" machen weil ich dann nicht mehr mit dem Rückgabewerten von checkDocuments() vergleichen kann (in_array($key, $DokumenteFirma)).
Wie stelle ich das an, dass ich trotzdem für jeden $key eine "Übersetzung" habe, die ich dann zusammen mit dem entsprechenden $value ausgebe? Geht das schöner als mit einem if bzw. switch case (if $key == 'Doc1' ? $output = 'Dokument #1 (irgendwas)' : '') vor dem echo?
Ich habe auch schon probiert jeden $value durch ein array(Übersetzung, value) zu ersetzen, ist bei einem Versuch geblieben. Sackgasse?
Folgender Code:
PHP:
$result = mysql_query($sql_firmen);
if(mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result)) {
$firmenarray[] = $row;
}
}
PHP:
if (!empty($firmenarray)) {
foreach($firmenarray as $firma) {
$DokumenteFirma = checkDocuments('Firma', $firma['Laendercode']);
...
...
foreach($firma as $key => $value) {
//START Markieren von fehlenden/bald aublaufenden Dokumenten
if (in_array($key, $DokumenteFirma)) {
...
echo "<span class=\"missing\">".$key.": ".$value."</span>";
...
Jetzt zu meinem Problem:
Die Ausgabe mit echo $key ist natürlich nicht sehr schön. Die Spaltennamen haben logischerweise keine Umlaute und Leerzeichen, der Output schaut also nicht schön aus und ist nicht leicht verständlich. Ich kann aber auch nicht bei der SQL-Query ein "SELECT Doc1 AS 'Dokument #1 (irgendwas)'" machen weil ich dann nicht mehr mit dem Rückgabewerten von checkDocuments() vergleichen kann (in_array($key, $DokumenteFirma)).
Wie stelle ich das an, dass ich trotzdem für jeden $key eine "Übersetzung" habe, die ich dann zusammen mit dem entsprechenden $value ausgebe? Geht das schöner als mit einem if bzw. switch case (if $key == 'Doc1' ? $output = 'Dokument #1 (irgendwas)' : '') vor dem echo?
Ich habe auch schon probiert jeden $value durch ein array(Übersetzung, value) zu ersetzen, ist bei einem Versuch geblieben. Sackgasse?