Vars aus der URL auslesen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Vars aus der URL auslesen?

    Ich bekomme aus der URL folgende Vars übergeben.

    ?species=1&species=3&title=1&datum=2002.01.01

    Jetzt muß ich die Daten aus einer Datenbank holen.
    Doch momentan klappt es nur, das er mir den letzten Datensatz von der Var species aus der Datenbank holt. Aber ich brauch alle Datensätze die per Var übergeben werden.
    Wie kann ich jetzt die URL prüfen od die Var nur einmal drin ist oder nicht?
    Und wie muß die Datenbankabfrag aussehen, damit ich alle Datensätze die per Var übergeben werden aus der Datenbank bekomme?
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Warum willst Du zweimal species übergeben also entweder is species 1 oder 3 oder Du gibst einen array weiter
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Da ich zu diesem Posting Keine Antworten mehr bekomme habe ich jetzt meine Frage anders gestellt.

      In der Auswahlseite habe ich folgendes zustehen:
      PHP-Code:
      <select size="5" name="species[]" multiple
      In der Übergabeseite habe ich das zustehen:
      PHP-Code:
      &species=".implode('&species=', $species)." 
      Und in der Ausgabeseite habe ich das zustehen:
      PHP-Code:
      <?php
      $res 
      mysql_query("select * from osg_species where id=$species");
      while(
      $row mysql_fetch_assoc($res))
      {
      echo 
      "$row[species1] <i>($row[species2])</i>";
      }
      ?>
      Per URL bekomme ich jetzt das übergeben.
      Wenn ich nur eine Auswahl treffe:
      &species=1...
      Wenn ich zwei Auswahlen treffe:
      &species=1&species=3....

      Jetzt muß ich auf der Ausgabeseite es irgentwie hinbekommen das er mir auch die Datensätze aus der Datenbank holt, aber wie wird das gemacht.
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        Ja aber mit &species=1&species=3 ist species erstmal nur 3
        d.h. Du bekommst einen Daten satz. Lass doch mal das implode weg.
        und dann
        select * from osg_species where id in('$species');
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          Gut implode ist weg. Jetzt bekomme ich in der URL das Übergeben:
          &species=Array&....

          Und damit aus der Ausgabeseite keine Ausgabe.

          Das IN('$species') habe ich eingesetzt auf der Ausgabeseite.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            hm...
            vielleicht so noch:
            $species = implode(',',$species)
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #7
              Jetzt habe ich das in der URL:
              species=implode(','Array)
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                komma vergessen?
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Ändert aber nichts:

                  species=implode(',',Array) in der URL
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    hmm,

                    schau dir doch mal die Servervars an, mit argv und query_string bekommst du die daten die musst du dir nur auseinander klabustern.

                    Kommentar


                    • #11
                      Gibt es denn keine Möglichkeit die übergebenen Vars aus der URL sauber auszulesen und wenn eine Var doppelt oder mehr vorhanden ist eine entsprechende Datenbankabfrage machen.

                      PS.: ich weiß leider nicht wie man sowas macht. Biszeit habe ich noch nicht mit multiple Optionsfelder gearbeitet.
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        Ja das soll ja auch net in die URL...
                        Beantworte nie Threads mit mehr als 15 followups...
                        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                        Kommentar


                        • #13
                          Bahnhof???
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar


                          • #14
                            Also, das:
                            PHP-Code:
                            &species=".implode('&species=', $species)." 
                            funktioniert auf gar keinen Fall ... dann schon eher so:

                            PHP-Code:
                            &species[]=".implode('&species[]=', $species)." 
                            es hält Dich aber sicher auch keiner auf wenn Du den Query-String selber parsen willst:

                            $_SERVER["QUERY_STRING"],
                            $HTTP_SERVER_VARS["QUERY_STRING"]
                            oder einfach $QUERY_STRING

                            heißt das gute Stück je nach Konfiguration und PHP-Version ...
                            Zuletzt geändert von goth; 09.07.2002, 16:09.
                            carpe noctem

                            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                            Kommentar


                            • #15
                              Gut jetzt habe ich das in der URL zustehen:

                              species[]=1&species[]=3

                              und auf der Ausgabeseite kommt keine Datenbankausgabe.

                              Achtung geändert!!!

                              Habe jetzt aus der Ausgabeseite es so geändert:
                              PHP-Code:
                              <?php
                              $te 
                              count($species);
                              echo 
                              "te = $te<br>";
                              $i 1;
                              echo 
                              "i = $i<br>";
                              if(
                              $te >= $i)
                              {
                              $i $i;
                              echo 
                              "schleife i = $i<br>";
                              echo 
                              "species = ".implode(',',$species)."<br>";
                              $res mysql_query("select * from osg_species where id='$species[$i]'");
                              while(
                              $row mysql_fetch_assoc($res))
                              {
                              echo 
                              "$row[species1] <i>($row[species2])</i>";
                              }
                              if(
                              $te >= $i)
                              {
                              $i $i 1;
                              echo 
                              "<br>zweite Schleife i = $i<br>";
                              }
                              }
                              ?>
                              Als Ausgabe bekomme ich:
                              te = 2
                              i = 1
                              schleife i = 1
                              species = 1,3
                              Und ein Datensatz
                              zweite Schleife i = 2
                              Zuletzt geändert von Wotan; 09.07.2002, 16:46.
                              *winks*
                              Gilbert
                              ------------------------------------------------
                              Hilfe für eine Vielzahl von Problemen!!!
                              http://www.1st-rootserver.de/

                              Kommentar

                              Lädt...
                              X