Fraggy: Was übergibt ein SELECT MULTIPLE ?

Also ich programmiere grade eine Funktion in PHP, wo die Werte eine Auswahlfeldes in einem Formular in eine Datenbank geschrieben werden sollen.

Die Übergabe der Variable selbst ist nicht das Problem.
Das Problem liegt vielmehr darin, das bei einer Mehrfachauswahl in dem Listenfeld immer nur ein Wert in der Variablen steht.

Ist das "normal"? Es muß doch möglich sein, in einem Listenfeld mehrere Felder zu selektieren, und an die Variable zu übergeben.

Kann mir jemand sagen wie die Struktur der Variable ist? Im Bezug auf Trennzeichen etc, und warum nur ein einzelner Wert übergeben wird obwohl mehrere Werte ausgewählt werden?

  1. hi,

    bei solchen fragen bitte immer erst mal vorhandene ressourcen befragen, hier z.b. http://dclp-faq.de/q/q-formular-select-multiple.html.

    gruß,
    wahsaga

    --
    [ Hier könnte Ihre Werbung stehen! ]
    1. Hello,

      bei solchen fragen bitte immer erst mal vorhandene ressourcen befragen, hier z.b. http://dclp-faq.de/q/q-formular-select-multiple.html.

      Der sollte aber genau DIESE Seite mal überarbeiten.

      da wird immer noch mit $REQUEST oder mit $HTTP_GET_VARS gearbeitet...

      also mach aus dem select-feld ein Array:

      <select multiple name="sel[1][]">

      dann kommen die Values der Optionen oder die Optionen, wenn es keine values gibt in

      $_POST['sel'][1][0] => option 1
        $_POST['sel'][1][1] => option 2
        $_POST['sel'][1][2] => option 3
        ...

      an.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. Moin,

        Der sollte aber genau DIESE Seite mal überarbeiten.

        da wird immer noch mit $REQUEST oder mit $HTTP_GET_VARS gearbeitet...

        Du solltest deinen Browsercache mal leeren und die Seite neu abholen:

        | Das Script script.php erhält nun diese Variable $_REQUEST['avar']
        | (bzw. vor PHP 4.1.0 als $HTTP_GET_VARS['avar']) als Array und kann
        | die Werte dieses Arrays aufzählen.

        --
        Henryk Plötz
        Grüße aus Berlin
        ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
        ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
        1. Hello,

          Der sollte aber genau DIESE Seite mal überarbeiten.

          da wird immer noch mit $REQUEST oder mit $HTTP_GET_VARS gearbeitet...

          Du solltest deinen Browsercache mal leeren und die Seite neu abholen:

          | Das Script script.php erhält nun diese Variable $_REQUEST['avar']
          | (bzw. vor PHP 4.1.0 als $HTTP_GET_VARS['avar']) als Array und kann
          | die Werte dieses Arrays aufzählen.

          Oh danke, dass Du mir das auf so nette Weise sagst, dass ich blöd bin ;-)

          Allerdings kann ruhig auch mit POST arbeiten, denke ich. Soll aber jetzt keine Entschuldigung für schlampertes Lesen sein...

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. DANKE!!!

            Ich denke das hilft mir weiter, mal von den "unkonstruktiven" Beiträgen abgesehen.

            @wahsaga: Wenn ich die Seite die Du empfiehlst gefunden hätte über Google, hätte ich hier nicht gepostet ;)

            Zum Suchbegriff "form select multiple" hatte ich eben an Platz 1 Das selfhtml-Forum, und weil ich hier meist gute und qualitativ hochwertige Auskünfte bekomme hab ich einfach mal gepostet!

            Nochmal DANKE an alle !!!

            1. Hi Fraggy,

              @wahsaga: Wenn ich die Seite die Du empfiehlst gefunden hätte über Google, hätte ich hier nicht gepostet ;)

              Und was ist das erste, wenn man nach "select multiple" sucht? =>http://www.google.com/search?hl=de&ie=UTF-8&q=Select+multiple&spell=1

              Zum Suchbegriff "form select multiple" hatte ich eben an Platz 1 Das selfhtml-Forum, und weil ich hier meist gute und qualitativ hochwertige Auskünfte bekomme hab ich einfach mal gepostet!

              Ist ja auch richtig so ;-)
              Schon ein gutes Forum.

              MfG, Dennis.

              --
              Signatur 3 von 3:
              Fragen zu Formularen?
              http://tutorial.riehle-web.com hilft!
        2. Moin,

          | Das Script script.php erhält nun diese Variable $_REQUEST['avar']
          | (bzw. vor PHP 4.1.0 als $HTTP_GET_VARS['avar']) als Array und kann
          | die Werte dieses Arrays aufzählen.

          Zum Wohle des Archivs:

          Am Thu, 24 Jun 2004 16:05:02 +0200 schrieb Frag'Em:

          Jetzt fehlt mir aber immer noch die Auflösung des Arrays.

          Wie krieg ich da die Werte da wieder raus? Ich muß die einzelnen Werte
          ja irgendwie in die DB-Felder kriegen! Kannst Du mir einen Tip geben?

          Ich hab nur aus der verlinkten FAQ zitiert. In $_REQUEST['avar'] findest du dann halt ein handelsübliches Array (siehe PHP-Doku), über das du zum Beispiel mit foreach() iterieren kannst. Oder du kannst das ganze Array mit print_r() ausgeben.

          --
          Henryk Plötz
          Grüße aus Berlin
          ~~~~~~~~ Un-CDs, nein danke! http://www.heise.de/ct/cd-register/ ~~~~~~~~
          ~~ Help Microsoft fight software piracy: Give Linux to a friend today! ~~
      2. Hi,

        also mach aus dem select-feld ein Array:

        <select multiple name="sel[1][]">

        Warum ein zweidimensionales Array?

        cu,
        Andreas

        --
        MudGuard? Siehe http://www.Mud-Guard.de/
        Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
        1. Hello,

          also mach aus dem select-feld ein Array:

          <select multiple name="sel[1][]">

          Warum ein zweidimensionales Array?

          Nur so als Anregung...
          Man kann seine Requestdaten nämlich auf diese Weise wunderbar strukturieren. Die Daten die müssen, die die können (variante records oder durch JS dynamisch hinzugefügte inputs..., Commands (submit) und controls (Select, Radio, Scheckbox) die keine direkte Bindung an die Datenbank auf dem Server haben...

          Liebe Grüße aus http://www.braunschweig.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
        2. Hi MudGuard,

          Warum ein zweidimensionales Array?

          Um andere Selects noch direct mit rein zu packen:

          <select multiple name="sel[1][]">
          <select multiple name="sel[2][]">
          ...

          MfG, Dennis.

          --
          Signatur 3 von 3:
          Fragen zu Formularen?
          http://tutorial.riehle-web.com hilft!
          1. Hi,

            Um andere Selects noch direct mit rein zu packen:
            <select multiple name="sel[1][]">
            <select multiple name="sel[2][]">

            Halte ich nicht für sehr übersichtlich...

            cu,
            Andreas

            --
            MudGuard? Siehe http://www.Mud-Guard.de/
            Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
            1. Hello,

              Um andere Selects noch direct mit rein zu packen:
              <select multiple name="sel[1][]">
              <select multiple name="sel[2][]">

              Halte ich nicht für sehr übersichtlich...

              Das muss jeder selber entscheiden.
              Bei meinen Scripten für automatisch generierte Umfragen ist das aber immer noch die beste Methode. Man muss ja auch die forward/backward safeties immer noch realisieren können...

              Liebe Grüße aus http://www.braunschweig.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
            2. Hi MudGuard,

              Um andere Selects noch direct mit rein zu packen

              Halte ich nicht für sehr übersichtlich...

              Geschmackssache. Ich finde es gar nicht so unpraktisch, wenn man beim Übermitteln
              in einem Array alle Select hat, in einem alle Checkboxen usw.

              Kommt aber letztlich immer auf das Formular drauf an. Wenn natürlich absolut kein
              Zusammenhang zwischen den Selects existiert, mag das hier selbstverständlich
              umständlich sein.

              MfG, Dennis.

              --
              Signatur 3 von 3:
              Fragen zu Formularen?
              http://tutorial.riehle-web.com hilft!