EnricoL: Problem mit dem Durchwechseln von Grafiken

Beitrag lesen

Hallo und guten Abend,

mich plagt schon seit etlichen Nächten das Problem mit dem Durchwechseln von Grafiken.

Zu Beginn meiner Datei wird der Wert der Variable $Richtung_Nr abgefragt:

$Richtung_Nr = $_REQUEST["Richtung_Nr"];

Existiert die Variable noch nicht, weil die Homepage gerade erst aufgerufen wurde, so wird
ihr Wert mit "0" initialisiert:

if ($Richtung_Nr == "")
      $Richtung_Nr = "0";

Diese Variable kann folgende Werte enthalten, die die Sortierung einer Tabelle einleiten:

0 = ursprünglicher Zustand
   1 = aufsteigende Sortierung
   2 = absteigende Sortierung

Die Sortierung spielt in diesem Zusammenhang aber keine Rolle, da ich noch nicht so weit bin.

Im nächsten Schritt frage ich den Wert der Variable ab, um (theoretisch) die unterschiedlichen
Zustände vorzubereiten:

switch ($Richtung_Nr)
   {
      case "0":
      {
         $Nr_inaktiv  = $Grafik_0;
         $Nr_aktiv    = $Grafik_1;
         $Richtung_Nr = "1";
         break;
      }

case "1":
      {
         $Nr_inaktiv  = $Grafik_2;
         $Nr_aktiv    = $Grafik_3;
         $Richtung_Nr = "2";
         break;
      }

case "2":
      {
         $Nr_inaktiv  = $Grafik_4;
         $Nr_aktiv    = $Grafik_5;
         $Richtung_Nr = "1";
         break;
      }
   }

Der Link, der anhand dieser Werte angezeigt wird, hat folgenden Aufbau:

<a href="<?php echo $_SERVER["PHP_SELF"]; ?>?Aktion=Nach_Nr_sortieren&Richtung=<?php echo $Richtung_Nr; ?>"
      onMouseOver="Nr.src='<?php echo $Nr_aktiv; ?>'"
      onMouseOut="Nr.src='<?php echo $Nr_inaktiv; ?>'"
      onFocus="if(this.blur)this.blur()"
      onClick="this.blur();">Nr.</a>

Seltsamerweise komme ich aber nie über den Wert "1" hinaus und das ist es, was ich absolut nicht verstehe, da
ich der Variable $Richtung_Nr den Wert "1" zuweise, sofern sie beim Eintritt in den switch-Block den Wert "0"
hat bzw. den Wert "2" zuweise, wenn sie mit dem Wert "1" belegt ist und die OnMouseOut-Grafik wird auch nicht
entsprechend angepasst.

Hier einmal der komplette Code bis dahin:

$Pfad     = "../../GRAFIKEN/NAVIGATION/";
   $Grafik_0 = $Pfad . "0.png";
   $Grafik_1 = $Pfad . "1.png";
   $Grafik_2 = $Pfad . "2.png";
   $Grafik_3 = $Pfad . "3.png";
   $Grafik_4 = $Pfad . "4.png";
   $Grafik_5 = $Pfad . "5.png";

$Aktion         = $_REQUEST["Aktion"];
   $Richtung_Nr    = $_REQUEST["Richtung_Nr"];
   $Richtung_Titel = $_REQUEST["Richtung_Titel"];
   $Richtung_Genre = $_REQUEST["Richtung_Genre"];
   $Richtung_FSK   = $_REQUEST["Richtung_FSK"];

if ($Richtung_Nr == "")
      $Richtung_Nr = "0";

if ($Richtung_Titel == "")
      $Richtung_Titel = "0";

if ($Richtung_Genre == "")
      $Richtung_Genre = "0";

if ($Richtung_FSK == "")
      $Richtung_FSK = "0";

if ($Aktion == "")
   {
      $Nr_inaktiv = $Titel_inaktiv = $Genre_inaktiv = $FSK_inaktiv = $Grafik_0;
      $Nr_aktiv   = $Titel_aktiv   = $Genre_aktiv   = $FSK_aktiv   = $Grafik_1;
   }
   else
   {
      switch ($Aktion)
      {
         case "Titel_suchen":
         case "Filter_setzen":
         case "Verliehene_Filme":
         case "Sammlung_exportieren":
         case "Hilfe":
         {
            $Nr_inaktiv = $Titel_inaktiv = $Genre_inaktiv = $FSK_inaktiv = $Grafik_0;
            $Nr_aktiv   = $Titel_aktiv   = $Genre_aktiv   = $FSK_aktiv   = $Grafik_1;
            break;
         }

case "Titel_suchen":
         {

break;
         }

case "Filter_setzen":
         {

break;
         }

case "Nach_Nr_sortieren":
         {
            $Titel_inaktiv  = $Genre_inaktiv  = $FSK_inaktiv  = $Grafik_0;
            $Titel_aktiv    = $Genre_aktiv    = $FSK_aktiv    = $Grafik_1;
            $Richtung_Titel = $Richtung_Genre = $Richtung_FSK = "0";

switch ($Richtung_Nr)
            {
               case "0":
               {
                  $Nr_inaktiv  = $Grafik_0;
                  $Nr_aktiv    = $Grafik_1;
                  $Richtung_Nr = "1";
                  break;
               }

case "1":
               {
                  $Nr_inaktiv  = $Grafik_2;
                  $Nr_aktiv    = $Grafik_3;
                  $Richtung_Nr = "2";
                  break;
               }

case "2":
               {
                  $Nr_inaktiv  = $Grafik_4;
                  $Nr_aktiv    = $Grafik_5;
                  $Richtung_Nr = "1";
                  break;
               }
            }

break;
         }

case "Nach_Titel_sortieren":
      {
         $Nr_inaktiv  = $Genre_inaktiv  = $FSK_inaktiv  = $Grafik_0;
         $Nr_aktiv    = $Genre_aktiv    = $FSK_aktiv    = $Grafik_1;
         $Richtung_Nr = $Richtung_Genre = $Richtung_FSK = "0";

switch ($Richtung_Titel)
         {
            ... usw ...
         }
      }
      ... usw ...
   }

Woran liegt es, dass ich hier nicht über den Wert "1" hinauskomme und die Grafiken nicht entsprechend angepasst
werden, so wie ich es angegeben habe ?

Vielen Dank für Eure Mithilfe.

Liebe Grüße
EnricoL