Putrick: 2 Listenfelder kombinieren

Halli Hallo,

ich möchte gerne eine Suchfunktion, die aus zwei Listenfeldern aufgebaut ist, programmieren. Das ganze sollte vom Prinzip her so funktionieren:

Listenfeld 1 (Fortbewegungsmittel):

  • Auto
  • Motorrad
  • Bus
  • Schiff

Listenfeld 2 (Antriebsart):

  • Benzin
  • Diesel

Wenn man beide Felder ausgewählt hat, sollte eine vorhandene Seite aufgerufen werden, also keine neu generiert werden. Ich stelle mir das ungefähr so vor wie in BASIC:

IF "Listenfeld 1"="Auto" AND "Listenfeld 2"="Benzin" THEN GOTO "autobenzin.html"
IF "Listenfeld 1"="Auto" AND "Listenfeld 2"="Diesel" THEN GOTO "autodiesel.html"
IF "Listenfeld 1"="Motorrad" AND "Listenfeld 2"="Benzin" THEN GOTO "motorradbenzin.html"
...

Ich denke, das Prinzip ist klar, oder? Es muss natürlich nicht genauso wie in Basic (und ich glaube auch C) sein, aber es war bisher das, was am nächsten dem entspricht, was ich vorhabe.
Gibt es da so etwas in den verschiedenen Programmiersprachen? Am besten wäre es natürlich, wenn es ganz einfach mit HTML funktioniert, aber JavaScript oder PHP wären auch kein Problem. Ich kann leider kein bereits gefertigtes Script vorweisen, da es ja keinen Sinn macht, einfach nur zwei Listenfelder aufeinander loszuschicken und ich mir leider überhaupt nicht vorstellen kann, wie ich Listenfelder kombinieren kann (deshalb ja meine Frage). Diverse Foren (unter anderem auch dieses) habe ich schon nach meinem Problem durchforstet und google ist dabei leider auch nicht mein Freund.

Ich hoffe, ihr könnt mir hier weiterhelfen,

Putrick

  1. Halli Hallo,

    php-lösung:

    switch(true){
     case $Listenfeld_1 == 'Auto' && $Listenfeld_2 == 'Benzin' :
      include('autobenzin.html');
     break;
     case $Listenfeld_1 == 'Auto' && $Listenfeld_2 == 'Diesel' :
      include('autodiesel.html');
     break;
     case $Listenfeld_1 == 'Motorrad' && $Listenfeld_2 == 'Benzin' :
      include('motorradbenzin.html');
     break;
     }

    1. Hallo,

      switch(true){
      case $Listenfeld_1 == 'Auto' && $Listenfeld_2 == 'Benzin' :
        include('autobenzin.html');
      break;

      Da der OP wohl an einer passenden Weiterleitung interssiert ist, geht es schneller:

      header('Location: http://www.example.com/'.$_REQUEST['listenfeld1'].$_REQUEST['listenfeld2'].'.html');

      Gruß,
      Severin

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
      -- Benjamin Franklin
      1. Hallo,

        Da der OP ...

        oops,
        was bitte ist ein OP ...

        Gruss Norbert

        1. Na ja, sowas wie der
          Original
          Poster

          MfG
          Rouven

          --
          -------------------
          ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
      2. Hallo,

        switch(true){
        case $Listenfeld_1 == 'Auto' && $Listenfeld_2 == 'Benzin' :
          include('autobenzin.html');
        break;

        Da der OP wohl an einer passenden Weiterleitung interssiert ist, geht es schneller:

        header('Location: http://www.example.com/'.$_REQUEST['listenfeld1'].$_REQUEST['listenfeld2'].'.html');

        Und wo im Script muss ich das dann einfügen? Im Head? Im Body? Im Script der Listenfelder gar selber? Und muss das in spezielle Klammern gesetzt werden?
        Vielen Dank aber schon mal bis hierhin für die wirklich gute und schnelle Hilfe!

        Gruß,
        Putrick

        1. Hallo,

          Und wo im Script muss ich das dann einfügen? Im Head? Im Body? Im Script der Listenfelder gar selber? Und muss das in spezielle Klammern gesetzt werden?

          Du hast wohl nur wenig Erfahrung mit PHP?

          Als erstes brauchst du einmal in einer HTML-Seite ein Formular. In etwas so:

            
          <form method="post" action="weiterleitung.php">  
          <select name="listenfeld1">  
          <option value="auto">Auto</option>  
          (...)  
          </select>  
          <select name="listenfeld2">  
          <option value="benzin">Benzin</option>  
          (...)  
          </select>  
          <input type="submit">  
          </form>  
          
          

          Dann brauchst du die weiterleitung.php. Sie sieht in etwas so aus:

            
          <?php  
          //Ist nicht ganz Standardkonform, aber einfacher  
          //Du kannst nach Location: noch deine Domain einfügen  
          //um dem HTTP Standard zu entsprechen  
          header('Location: '.$_POST['listenfeld1'].$_POST['listenfeld2'].'.html');  
          ?>  
          
          

          Du solltest dich aber im eigenen Interesse tiefer mit PHP beschäftigen. Es ist sehr fustrierend etwas zu machen, wenn man nicht weiß was man tut :-)

          Gruß,
          Severin

          --
          They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
          -- Benjamin Franklin
          1. Hallo,

            Und wo im Script muss ich das dann einfügen? Im Head? Im Body? Im Script der Listenfelder gar selber? Und muss das in spezielle Klammern gesetzt werden?

            Du hast wohl nur wenig Erfahrung mit PHP?

            Als erstes brauchst du einmal in einer HTML-Seite ein Formular. In etwas so:

            <form method="post" action="weiterleitung.php">
            <select name="listenfeld1">
            <option value="auto">Auto</option>
            (...)
            </select>
            <select name="listenfeld2">
            <option value="benzin">Benzin</option>
            (...)
            </select>
            <input type="submit">
            </form>

            
            >   
            > Dann brauchst du die weiterleitung.php. Sie sieht in etwas so aus:  
            > ~~~php
              
            
            > <?php  
            > //Ist nicht ganz Standardkonform, aber einfacher  
            > //Du kannst nach Location: noch deine Domain einfügen  
            > //um dem HTTP Standard zu entsprechen  
            > header('Location: '.$_POST['listenfeld1'].$_POST['listenfeld2'].'.html');  
            > ?>  
            > 
            
            

            Du solltest dich aber im eigenen Interesse tiefer mit PHP beschäftigen. Es ist sehr fustrierend etwas zu machen, wenn man nicht weiß was man tut :-)

            Sagen wir so: Ich hab nicht nun nicht wirklich absolut versiert in der Materie, aber auf die Idee hätte ich eigentlich selber kommen müssen, so weit bin ich nun auch wieder...
            Nichtsdestrotz (oder gerade deswegen) danke ich allen, die mir geholfen haben, auf's herzlichste, das ganze läuft (wie bei dieser unkomplizierten, freundlichen und schnellen Hilfe nicht anders zu erwarten) ohne Probleme!
            Jetzt muss ich es nur noch irgendwie hinkriegen, die angeforderte Seite in einem anderen Frame auszugeben als die Listenfelder. Mit meinem üblichen "target" komme ich da irgendwie nicht weiter, aber mir fällt schon etwas ein, hoffentlich habe ich dieses Mal nicht wieder so eine Denkblockade wie beim vorigen "Problem"...

            Gruß,

            Putrick

            1. Sagen wir so: Ich hab nicht nun nicht wirklich absolut versiert in der Materie...

              Ähm, natürlich BIN ich nun nicht wirklich absolut versiert...

            2. Hallo,

              Jetzt muss ich es nur noch irgendwie hinkriegen, die angeforderte Seite in einem anderen Frame auszugeben als die Listenfelder. Mit meinem üblichen "target" komme ich da irgendwie nicht weiter, aber mir fällt schon etwas ein, hoffentlich habe ich dieses Mal nicht wieder so eine Denkblockade wie beim vorigen "Problem"...

              Bist du dir sicher, dass es keinen sinnvolleren Weg gibt deine Navigation zu gestalten?
              Wenn du es trotz der Nachteile (Frames, JavaScript) machen willst, google nach jump Menü. Je nach Skript kann es sein, dass du document.localtion.href= mit top.framename.location.href= austauschen musst.

              Gruß,
              Severin

              --
              They that can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.
              -- Benjamin Franklin
            3. Mit meinem üblichen "target" komme ich da irgendwie nicht weiter, aber mir fällt schon etwas ein, hoffentlich habe ich dieses Mal nicht wieder so eine Denkblockade wie beim vorigen "Problem"...

              Mit einen target im Formular müsste das doch funktionieren.
              http://de.selfhtml.org/html/formulare/definieren.htm#zielfenster