HeikoH: Array aus Popupmenue uebertragen

Problem:
Aus einem Ergebnis einer DB wird ein Popupmenue erstellt.
Das Ergebnis aus der DB ist ein Array.
Dieses Array soll als Wert weiterübertragen werden.
Was muss als name bei Select stehen, sprich mit welchen Zeichen?
Was für Zeichen müssen bei value noch stehen.
Bisher schaut es so aus:

print "<select name=di onChange=Rechnen(this.value)>";
$ausgabe = mysql_query("SELECT * FROM $produkt WHERE di_pr >=0");
while($option = mysql_fetch_array($ausgabe))
    {
    print "<option value=$option[di_pr]>$option[di] + $option[di_pr] EUR</option>";
    }
print "</select>";

Als Wert muss die ID und di_pr der DB auch enthalten sein.

  1. Hi,

    Was muss als name bei Select stehen, sprich mit welchen Zeichen?

    http://www.koehntopp.de/php/webvariablen.html#formular-select-multiple

    Cheatah

    1. Hi,

      Was muss als name bei Select stehen, sprich mit welchen Zeichen?

      http://www.koehntopp.de/php/webvariablen.html#formular-select-multiple

      Cheatah

      ...haut nicht hin. Es wird ja immer nur eine Option übertragen, entweder der id oder di_pr.
      Ich möchte aber beide übertragen.

      1. Hi,

        ...haut nicht hin. Es wird ja immer nur eine Option übertragen, entweder der id oder di_pr.

        ah. In

        print "<option value=$option[di_pr]>$option[di] + $option[di_pr] EUR</option>";

        schreibst Du als value dummerweise auch nur das eine raus, nicht beide. Übrigens solltest Du dem Attributwert ein Paar Anführungszeichen gönnen.

        Cheatah

        P.S.: Wenn es das nicht ist, verstehe ich Dein Problem leider nicht.

        1. Hi,

          ...haut nicht hin. Es wird ja immer nur eine Option übertragen, entweder der id oder di_pr.

          ah. In

          print "<option value=$option[di_pr]>$option[di] + $option[di_pr] EUR</option>";

          schreibst Du als value dummerweise auch nur das eine raus, nicht beide. Übrigens solltest Du dem Attributwert ein Paar Anführungszeichen gönnen.

          Cheatah

          P.S.: Wenn es das nicht ist, verstehe ich Dein Problem leider nicht.

          ...und wie soll ich beide einschreiben?
          als
          ...<option value=$option[di_pr && id]>...?
          Wenn ich " gönne bekomme ich Fehlermeldeungen.
          Ich brauche einen Wert (di_pr) zur sofortigen Verarbeitung beim JAVA Script und die ID zur weiteren Verarbeitung auf der Folgeseite.
          Ich denke, Du hast das Problem erkannt.
          "Nur in der Gesamtheit noch nicht dargestellt." Um es vorsichtig auszudrücken.

          1. Hi,

            print "<option value=$option[di_pr]>$option[di] + $option[di_pr] EUR</option>";
            ...und wie soll ich beide einschreiben?

            wie hast Du es zwischen <option> und </option> gemacht?

            Wenn ich " gönne bekomme ich Fehlermeldeungen.

            Ach je. Wenn Du einen String mit Doublequote beginnst, beendet der nächste ihn - das ist immer so. Deswegen gibt es Escape-Zeichen wie den Backslash.

            Ich brauche einen Wert (di_pr) zur sofortigen Verarbeitung beim JAVA Script

            Warum hebst Du den Teil "Java" so hervor, als hätte JavaScript irgendwas mit Java zu tun?

            und die ID zur weiteren Verarbeitung auf der Folgeseite.

            Hm? Du meinst, Du möchtest nur die ID beim Formularabsenden übermitteln? Es wird der Value verschickt, also musst Du diesen auf die ID (und nur die ID) setzen. Wenn es Dir darum geht, mit JavaScript auf den Text der <option> zuzugreifen, dann solltest Du noch ein wenig Zeit in der JavaScript-Objektreferenz von SelfHTML verbringen. Eine magische "und liefere mir dann bitte noch separat was anderes"-Funktion gibt es aber nicht.

            Cheatah

            1. Hi,

              print "<option value=$option[di_pr]>$option[di] + $option[di_pr] EUR</option>";
              ...und wie soll ich beide einschreiben?

              wie hast Du es zwischen <option> und </option> gemacht?

              Wenn ich " gönne bekomme ich Fehlermeldeungen.

              Ach je. Wenn Du einen String mit Doublequote beginnst, beendet der nächste ihn - das ist immer so. Deswegen gibt es Escape-Zeichen wie den Backslash.

              Ich brauche einen Wert (di_pr) zur sofortigen Verarbeitung beim JAVA Script

              Warum hebst Du den Teil "Java" so hervor, als hätte JavaScript irgendwas mit Java zu tun?

              und die ID zur weiteren Verarbeitung auf der Folgeseite.

              Hm? Du meinst, Du möchtest nur die ID beim Formularabsenden übermitteln? Es wird der Value verschickt, also musst Du diesen auf die ID (und nur die ID) setzen. Wenn es Dir darum geht, mit JavaScript auf den Text der <option> zuzugreifen, dann solltest Du noch ein wenig Zeit in der JavaScript-Objektreferenz von SelfHTML verbringen. Eine magische "und liefere mir dann bitte noch separat was anderes"-Funktion gibt es aber nicht.

              Cheatah

              Halli Hallo Cheatah

              JAVA hebe ich nur einfach so hervor.
              Um es vielleicht mal zusammenzufassen:
              Der Name bei select muss mit [] enden.
              Wenn das Ergebnis der Optionsfelder aus einem Array stammt muss es doch auch möglich sein diese Werte weiterzugeben, denn sonst nutzt einem doch beim Namen des select nicht die Erweiterung [] zum Array.
              Der Link zu Köhntopp hat mich diesbezüglich nicht weitergebracht, da Köhntopp nicht das Ergebnis darstellt.
              Kannst Du mir nicht bitte den ganzen Ausschnitt (vom ersten Posting von mir) so umschreiben wie es sich "gehört" und richtig ist, sprich mit select name="di[]" ... und <option value=???ARRAY???>...