mbr: switch automatisch erstellen

Beitrag lesen

Hallo

Sorry, vielleicht war das wirklich noch zu ungenau. Mit der switch-Anweisung will ich $_GET auswerten. Je nachdem, welcher Parameter übergeben wurde, soll ein anderes Bild angzeigt werden (Bespiel: bilder.php?pic=1). Ich habe so viele Bilder wie in $anzahl, folglich gibt es für "bilder.php?pic=" $anzahl-Möglichkeiten. Da ich die Bilder nicht selber zähle (zum Glück nicht!!), muss auch die switch-Anweisung automatisch erzeugt werden und "mitwachsen". Ich hoffe, das konkretisiert mein Problem!

Du brauchst aber doch sowieso eine Zuordnung also zum Beispiel:

pic=1 ===> hund.jpg anzeigen
pic=2 ===> katze.jpg anzeigen
pic=3 ===> pelikan.jpg anzeigen

Diese Zuordnung könnte man über eine Datenbank erreichen, oder über eine reine Textdatei (Sind jetzt nur zwei Möglichkeiten, die mir spontan einfallen) Du sagst, du zählst die Bilder nicht selber, heißt das, du willst auch die Zuordnung nicht selber machen?

liebe Grüße

Michael

Edit: Meinst du vielleicht folgendes: Du hast ein Verzeichnis mit (vielen) Bildern drin und willst nun bei pic=1 das "erste" ausgeben, bei pic="2" das zweite, usw...? Dann wäre es am einfachsten, die Verzeichnisstruktur auszulesen und das ganze in ein array abzuspeichern:

  
//Die Namen der einzelnen Bilder aus dem festgelegten Verzeichnis holen  
$dirobj=@dir($cfg_albumdir);  
if($dirobj===false)  
{  
   $fehler="FEHLER: kein Album";  
}  
else  
{  
   while($item=$dirobj->read())  
   {  
      //MS - Hack: ausser . und .. auch verhindern, dass Thumbs.db mitgezaehlt wird  
      if($item=="." or $item==".." or $item=="Thumbs.db")  
      {  
        continue;  
      }  
      if(is_dir($cfg_albumdir."/".$item))  
      {  
        $fehler="FEHLER: Unterverzeichnis in Bilderverzeichnis";  
        break;  
      }  
      //Dateinamen in array speichern  
      $wert=intval($item);  
      if($arr_bildnamen[$wert]!="")  
      {  
         $fehler="FEHLER: Bildnummer kommt doppelt vor:".$wert;  
         break;  
      }  
      else  
      {  
         $arr_bildnamen[$wert]=$item;  
      }  
    } //ende while  
  }  

Der Schnippsel ist ein Beispiel von mir. Normalerweise heißt das ja hier SELF, aber als Denkanstoß ist es vielleicht interessant.
Zum Beispiel müßtest du noch $cfgAlbumdir festlegen. Zusätzlich müssen die Dateinamen der Bildwer für dieses Script mit einer Nummer beginnen, die auch nicht doppelt vorkommen darf, aber die Prüfung kannst du ja rausnehmen.