Connie: Array-Wert durch Wert aus anderem Array ersetzen

Hallo! vielleicht liegt es daran, daß es schon spät ist, aber ich komm nicht drauf:

ich lese aus einer Datenbank Daten-Sätze in ein Array aus
der 5. Wert ist ein Index von 1 bis n
es gibt ein weiteres Array:
$farbe = array('gelb', 'blau', 'weiß', 'rot');

Nun möchte ich eine Tabellenzeile ausgeben:

while ($row = mysql_fetch_assoc($result)) {
 $HTML .= "<tr>\n";
  foreach ($row as $name => $value)
   {
    $HTML .= "<td">$value</td>\n";
   }
 $HTML .= "</tr>\n";
 }

der 5. Wert ist der Zahlen-Index von 1 bis 4
nun möchte ich nicht einfach diesen Wert ausgeben, das ist ja kein Problem, sondern stattdessen die Werte aus dem 2. Array

hat der 5. Wert von $row den Wert 1, dann schreibe "gelb"

ich weiß  nicht, wie ich das in die Foreach-Schleife einbauen soll

  1. Hello,

    $farbe = array('gelb', 'blau', 'weiß', 'rot');

    Nun möchte ich eine Tabellenzeile ausgeben:

    while ($row = mysql_fetch_assoc($result)) {
    $HTML .= "<tr>\n";
      foreach ($row as $name => $value)
       {
        $HTML .= "<td">$value</td>\n";
       }
    $HTML .= "</tr>\n";
    }

    der 5. Wert ist der Zahlen-Index von 1 bis 4
    nun möchte ich nicht einfach diesen Wert ausgeben, das ist ja kein Problem, sondern stattdessen die Werte aus dem 2. Array

    hat der 5. Wert von $row den Wert 1, dann schreibe "gelb"

    Da Du mit mysql_fetch_assoc() abgefragt hast, hat das Element des Arrays einen Namen.

    while ($row = mysql_fetch_assoc($result))
     {
         $HTML .= "<tr>\n";
         foreach ($row as $name => $value)
         {
           if ($name == 'dein_feldname')
           {
             if (isset($farbe[intval($value)])
             {
               $HTML .= "<td>".$farbe[intval($value)]."</td>\n";
             }
             else
             {
               $HTML .= "<td>*unbekannt*</td>\n";
             }
           {
           else
           {
             $HTML .= "<td>$value</td>\n";
           }
         }
         $HTML .= "</tr>\n";
     }

    Bei der Ausgabe solltest Du ggf. noch htmlspechialchar() oder htmlentities() benutzen.

    Harzliche Grüße vom Berg
    http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau

    1. Tom, das war der Kick, der mir gefehlt hat...

      ich habs verstanden und werde es gleich einbinden

      danke, Tom!