select mit array

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

  • select mit array

    Hallo zusammen,
    also ich weiß nicht - denk ich vollkommen in die falsche Richtung?
    Möchte einfach einen array mit <option> schicken und dann die einzelnen Werte auslesen - klappt aber nicht.
    Hab's bis jetzt so gemacht:
    <option value="aaa|bbb">
    und dann mit
    $xyz=explode("|",$_POST['auswahl']);
    die Werte ausgelesen. Das muss doch aber auch anders gehen?
    Momentan siehts so aus:

    <form action="test.php" method="post" style="display:inline;">
    <select name="auswahl" class="form">
    <option value="">-- Shop ausw&auml;hlen --</option>
    <option value="">-----------------------------------------------</option>

    <? $result=mysql_db_query("db1234567", "select * from kunden_data order by shop_name");
    while ($row=mysql_fetch_array($result)) {
    echo "<option value='" .array("kuid"=>$row["kuid"],"name"=>$row["shop_name"]). "'>" .$row["shop_name"]. "</option>";

    }
    ?>

    </select>&nbsp;&nbsp;<input type="submit" name="weiter" value="weiter" class="button">
    </form>

    Wenn ich dann mit print_r (array_values ($auswahl)); kontrolliere kommt ne Fehlermeldung: ...The argument should be an array in...

    Kann mir da jemand auf die Sprünge helfen?
    THX im voraus

  • #2
    Re: select mit array

    Original geschrieben von Claus
    Wenn ich dann mit print_r (array_values ($auswahl)); kontrolliere kommt ne Fehlermeldung: ...The argument should be an array in...
    und was bitte ist $auswahl ...?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ... <select name="auswahl">

      Kommentar


      • #4
        Original geschrieben von Claus
        ... <select name="auswahl">
        also ist RG auf on?

        warum verwendest du oben die $_POST-zugriffsweise, hier aber nicht mehr?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          ...na gut, aber auch dann funktionierts nicht.
          Einfache Frage: Kann ich ein Array mittles option schicken?
          Und wenn ja, warum gehts dann oben nicht?
          Zuletzt geändert von Claus; 07.04.2005, 17:01.

          Kommentar


          • #6
            PHP-Code:
            echo "<option value='" .
                       array(
            "kuid"=>$row["kuid"],"name"=>$row["shop_name"])
                   . 
            "'>" .$row["shop_name"]. "</option>"
            ^^ das kannst du vergessen ... in deinem option-value steht nun das wort "Array".

            schau dir mal (un)serialize() im php-manual an und verwende es mit url(en|de)code().
            Kissolino.com

            Kommentar


            • #7
              hmm... was hat dir an deiner bisherigen Lösung mit value="aaa|bbb" und anschließend exploden nicht gepasst??

              @Wurzel
              Warum urlencode() und urldecode()??? Sein Formular arbeitet ja mit POST?
              Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
              Schön - etwas Geschichte kann ja nicht schaden.
              Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

              Kommentar


              • #8
                Original geschrieben von Quetschi
                @Wurzel
                Warum urlencode() und urldecode()??? Sein Formular arbeitet ja mit POST?
                um sonderzeichen im serialisierten string zu entwerten
                Kissolino.com

                Kommentar


                • #9
                  *kopfkratz*

                  Wenn er GET benutzt, keine Frage, da muss urlencode() her. Aber ist das nötig wenn die Daten per POST übermittelt werden?
                  Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                  Schön - etwas Geschichte kann ja nicht schaden.
                  Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                  Kommentar


                  • #10
                    ...also irgendwie klappt das nicht.
                    Mit serialize wird zumindest schon mal was übertragen.
                    Aber beim Auslesen hörts schon wieder auf:
                    $test = array("aa","bb");
                    $test = serialize($test);
                    echo "<option value='$test'>test</option>";


                    $zeige = unserialize($auswahl);
                    print_r ($zeige); --> passiert gar nichts

                    Ohne unserialize natürlich: a:2i:0;s:2:\"aa\";i:1;s:2:\"bb\";}

                    Kommentar


                    • #11
                      nö, ist klar, unserialize stellt nämlich deine variable $test wieder her. Die kannst auslesen.

                      EDIT:
                      $test ist in deinem Fall glaub ich ein Array, aber auch damit kann serialize() -> unserialize() umgehen...
                      Zuletzt geändert von Quetschi; 07.04.2005, 17:59.
                      Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
                      Schön - etwas Geschichte kann ja nicht schaden.
                      Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!

                      Kommentar


                      • #12
                        Wenn man es ganz normal macht gehts

                        $var= array("aa","bb");
                        $test = serialize($var);
                        echo $test . "\n\n";
                        $array = unserialize($test);
                        print_r($array);

                        Sobald man es aber verschickt klappt nichts - versteh das nicht.

                        Kommentar


                        • #13
                          ... zum Teufel, du hast Recht.
                          Jetzt gehts - tausend Dank.
                          Zuletzt geändert von Claus; 07.04.2005, 18:05.

                          Kommentar


                          • #14
                            ...hab mich vertan - geht doch nicht.
                            Jetzt kann nur noch'n Bier helfen.

                            Kommentar


                            • #15
                              schreibs mal so ins option-value
                              PHP-Code:
                              urlencode(serialize(DEIN ARRAY)); 
                              und lies es so aus
                              PHP-Code:
                              unserialize(urldecode(ÜBERGEBENES ARRAY)); 
                              Kissolino.com

                              Kommentar

                              Lädt...
                              X