Array-Wert durch Wert aus anderem Array ersetzen
Connie
- php
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
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. Arrayhat 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
Tom, das war der Kick, der mir gefehlt hat...
ich habs verstanden und werde es gleich einbinden
danke, Tom!