[Funktion] selected-Problem bei combobox

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

  • [Funktion] selected-Problem bei combobox

    Ich habe eine Combobox mit folgender php-Funktion mit Tabelleneinträgen gefüllt:

    function combofueller($feld)
    {
    $conn_id = mysql_connect("localhost", "user", "pw");
    mysql_select_db($db);
    $result = mysql_query("select * from tabelle");
    $rows = mysql_num_rows($result);
    $cols = mysql_num_fields($result);
    echo "<select name=\"cboname\">";
    while ($row = mysql_fetch_object($result))
    {
    $feld = $row->$pnr;
    echo "<option value='$row->'$feld''> {$row->$feld} </option>";
    }
    echo "</select>";
    return $feld;
    }

    Die Combobox ist zwar mit den Tabellenwerten einwandfrei gefüllt und anzuclicken.
    Als Returnwert wird aber immer nur der LETZTE Eintrag aus der Comboliste übergeben. Ich brauche aber den JEWEILS ANGECLICKTEN Combobox-Eintrag.

    Gibt es hier ein selected-Ereignis o.ä.?

  • #2
    Hast du dir den ausgegebenen HTML-Code mal angesehen?

    Kommentar


    • #3
      der Ausgabetext sieht so aus:


      <select size="1" name="cboproduktnr">
      <option value =' Object id #1->'produktnr''></option>
      <option value =' Object id #2->'produktnr''> Neueintrag </option>
      <option value =' Object id #1->'produktnr''> 12.900 </option>

      <option value =' Object id #2->'produktnr''> 80.205 </option>
      <option value =' Object id #1->'produktnr''> 80.210</option>
      </select>

      Kommentar


      • #4
        weg mit den '

        also value=".$row->$feld."''

        statt

        value='$row->'$feld''

        Kommentar


        • #5
          danke, aber genau das funktioniert ja nicht!

          Kommentar


          • #6
            Original geschrieben von phralter
            danke, aber genau das funktioniert ja nicht!
            Absolut sinnfreie Aussage.


            Solltest du stattdessen meinen, dass du das nicht hinbekommst - dann lies bitte im Manual nach, wie man mit Strings umgeht.
            http://www.php.net/manual/de/language.types.string.php
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              sorry, ich hatte zunächst nur die letzte zeile deiner antwort auf dem Schirm. daher der eindruck der sinnfreiheit.

              habs jetzt mal anstelle der

              '

              mit dem vorangestellten

              .

              versucht.

              scheint aber kein problem der strings zu sein. denn deine version klappt zwar, jedoch nur genauso gut bzw. schlecht wie meine alte version. es wird lediglich der letzte eintrag und nicht der angeclickte übernommen.

              Kommentar


              • #8
                HTML-Code jetzt ...?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Schau dir doch die HTML-Ausgabe an,

                  dein Problem liegt einfach darin, 2 x den selben String auszugeben.

                  echo "<option value='$row->'$feld''> {$row->$feld} </option>";

                  -->

                  <option value =' Object id #2->'produktnr''> Neueintrag </option>

                  Richtig wäre z.B.:

                  <option value =Neueintrag> Neueintrag </option>

                  der Fehler liegt also hier: value='$row->'$feld'' begraben,
                  aber das sollte ja nicht so schwer sein, da es hier > {$row->$feld} </ ja auch richtig ausgegeben wird.

                  Kommentar


                  • #10
                    Ausgabe genau wie vorher

                    Kommentar


                    • #11
                      Hier noch nen beispiel:

                      PHP-Code:
                      foreach($array as $key => $value) {
                        if (
                      $key == $selectname) {$selectsd "selected";} else {$selectsd "";}
                        echo 
                      "<option value=\"".$key."\"".$selectsd.">".$value."</option>";} 

                      Kommentar


                      • #12
                        Original geschrieben von phralter
                        Ausgabe genau wie vorher
                        Also kannst du offenbar doch nicht mit Strings umgehen ...
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          Original geschrieben von phralter
                          Ausgabe genau wie vorher
                          Und was sollen wir mit der Aussage ohne PHP Code, bzw. HTML Ausgabe anfangen?

                          Kommentar


                          • #14
                            herzlichen dank,

                            habe jetzt

                            echo "<option value='$row->'$feld''> {$row->$feld} </option>";

                            durch

                            echo "<option> {$row->$feld} </option>";

                            ersetzt.

                            klappt!!

                            Kommentar


                            • #15
                              OffTopic:
                              Ein weiterer Beitrag aus der Reihe
                              "Ich lasse einfach alles weg, was ich nicht verstehe, und freue mich dann, dass es zum Glück in diesem Sonderfall trotzdem noch funktioniert."
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X