Bestimmtes Bild einfügen

hoctar

Erfahrenes Mitglied
Hallo :)
Also ich habe mir da so einpaar felder mit hmtl geschrieben, ich möchte nun auf jedes feld ein eigenes bild setzen undzwar soll das so funktionieren, ich prüfe mit einer if-abfrage ob in einem array der typ auf erde, lehm oder wald steht und dann soll die variable $typ durch das bild ersetzt werden ... ich habe das so versucht, geht aber nicht, er setzt die variable $typ immer auf erde:
PHP:
 if ($coord[1]['typ'] == "Erde")
  {$typ = "erde.jpg";}
  elseif ($coord[1]['typ'] == "Wald")
   {$typ = "wald.jpg";}
  elseif ($coord[1]['typ'] == "Lehm")
   {$typ = "lehm.jpg";}
 if ($coord[2]['typ'] == "Erde")
  {$typ = "erde.jpg";}
  elseif ($coord[2]['typ'] == "Wald")
   {$typ = "wald.jpg";}
  elseif ($coord[2]['typ'] == "Lehm")
   {$typ = "lehm.jpg";}
 if ($coord[3]['typ'] == "Erde")
  {$typ = "erde.jpg";}
  elseif ($coord[3]['typ'] == "Wald")
   {$typ = "wald.jpg";}
  elseif ($coord[3]['typ'] == "Lehm")
   {$typ = "lehm.jpg";}

So gebe ich das bild aus:
PHP:
<table align="center" cellpadding=1 cellspacing=1 class="cat" border="black">
	<tr height=100>
		<td width=100><img src="http://www.tutorials.de/forum/images/<? echo $typ; ?>"><a href="index.php"><? echo $coord[1]['name']; ?></a></td>
		<td width=100><img src="http://www.tutorials.de/forum/images/<? echo $typ; ?>"><a href="index.php"><? echo $coord[2]['name']; ?></a></td>
		<td width=100><img src="http://www.tutorials.de/forum/images/<? echo $typ; ?>"><a href="index.php"><? echo $coord[3]['name']; ?></a></td>
				</tr>

Das ist das array:
PHP:
Array ( [1] => Array ( [lvl] => 0 [name] => Leer [typ] => Erde ) [2] => Array ( [lvl] => 0 [name] => Leer [typ] => Lehm ) [3] => Array ( [lvl] => 0 [name] => Leer [typ] => Wald ))

Abgesehen davon das es nicht geht .. kann man die if-abfrage kürzer machen ?
 
Zuletzt bearbeitet:
Hallo hoctar die if Abfrage könnte man z.B so kürzen.
Habs nicht ausprobiert müsste aber so richtig sein.

PHP:
for($i = 1;$i <= 3; $i++){
    switch ($coord[$i]['typ']) {

        case 'Wald' :
            $typ = "wald.jpg" ;
        break;

        case 'Lehm' :
            $typ = "lehm.jpg" ;
        break;

        case 'Erde' :
            $typ = "erde.jpg" ;
        break;    
    }
}
 
Hallo hoctar die if Abfrage könnte man z.B so kürzen.
Habs nicht ausprobiert müsste aber so richtig sein.

PHP:
for($i = 1;$i <= 3; $i++){
    switch ($coord[$i]['typ']) {

        case 'Wald' :
            $typ[$i] = "wald.jpg" ;
        break;

        case 'Lehm' :
            $typ[$i] = "lehm.jpg" ;
        break;

        case 'Erde' :
            $typ[$i] = "erde.jpg" ;
        break;    
    }
}

Und dann $typ[1] usw wieder ausgeben... klar das er nur erde anzeigt (das letzte) wenn die Variable immer wieder überschrieben wird.
 
Da die Dateinamen die kleingeschriebene Variante der Bezeichnungen sind, könntest du einfach Folgendes nutzen:
PHP:
<td width=100><img src="./images/<? echo strtolower($coord[1]); ?>.jpg"><a href="index.php"><? echo $coord[1]['name']; ?></a></td>
<td width=100><img src="./images/<? echo strtolower($coord[2]); ?>.jpg"><a href="index.php"><? echo $coord[2]['name']; ?></a></td>
<td width=100><img src="./images/<? echo strtolower($coord[3]); ?>.jpg"><a href="index.php"><? echo $coord[3]['name']; ?></a></td>
 
also bei gumbos code verlinkt er auf "images../array.jpg"
und bei engelb auf "images../array" ..
^^ ehmm .. also oder ich habe da was nicht ganz verstanden ^_^ wie soll ich denn das jetzt machen ^^ am besten wenn es geht den code bitte :)
 
Zuletzt bearbeitet:
aso xD ja stimmt vieln dank gumbo :)
aber gibt es noch eine andere möglichkeit den feldern andere bilder zuzuweisen ?
sagn wir mal wenn auf ein feld was den typ erde hat, aber da soll ein wasser bild stehen :)
 
Zurück