Optionsfeld

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

  • Optionsfeld

    Hallo,

    ich habe auf einem Formular ein Optionsfeld, das 3 verschiedene Werte enthält.

    z.B. 1, 2, 3

    In der Datenbank ist der Wert 2 gespeichert. Wenn ich nun die Daten überarbeiten möchte, dann sollte im Optionsfeld der gespeicherte Wert aus der Datenbank gelesen werden. Bei mir wird immer die 1 angezeigt und nicht der gespeicherte Wert.


    Kann mir jemand bitte weiterhelfen? Vielen Dank!

  • #2
    Hallo!
    Den relevanten Code zu posten wäre uU hilfreich
    X *nicht sicher, ob überhaupt richtig verstanden*

    Kommentar


    • #3
      Hier ein Ausschnitt aus meinem Code:

      <FORM ACTION="edit_angebote.php?action=edit&id=<?echo $id?>" METHOD="POST">
      <table width="350" border="0" cellspacing="0" cellpadding="0" align="center" height="235">
      <tr align="center" valign="top">
      <td colspan="2" height="50">
      <div align="center">
      <p><b>Angebot überarbeiten</b></p>
      </div>
      </td>
      </tr>
      <tr align="left" valign="middle">
      <td height="25"><font size="2">Titel:</font></td>
      <td height="25"> <font size="2">
      <input type="text" name="titel" size="30" maxlength="49" value="<?echo $titel?>">
      </font></td>
      </tr>
      <tr>
      <td width="25%">Angebotsart:</td>
      <td width="75%"><select size="1" name="angebotsart"><?echo $angebots_name?></select></td>
      </tr>
      </table>
      </from>

      Wie bereits gesagt. Ich möchte den zu letzt ausgewählten Wert angezeigt bekommen.


      Gruss
      Benji

      Kommentar


      • #4
        was steht in $angebots_name?
        wo sind die option-tags die zu einem select gehören?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Vielleicht liegts Daram wie du das Formular schließt.

          </from> != </form>

          Kann ja sein, dass er dadurch falsche werte kriegt
          it's not a bug,
          it's a feature!

          Kommentar


          • #6
            Hier die Abfrage für die verschiedenen Angebotsarten (z.B. kaufen, suchen)

            $abfrage_angebotsarten = mysql_query("SELECT DISTINCT name FROM dhs_angebotsarten ORDER BY name ASC");
            while($row = mysql_fetch_array($abfrage_angebotsarten))
            {
            $angebotsart = $row['name'];
            $angebots_name.= "<option value=\"$angebotsart\">$angebotsart</option>";
            }


            Vielleicht hilft das euch ein wenig weiter!

            Gruss
            Benji

            Kommentar


            • #7
              tut es

              du musst schauen, welche angebotsart aktiv ist, und da noch selected="selected" in den option-tag schreiben
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Es sollen aber weiterhin alle möglichen Einträge ausgegeben werden. Nur das zu letzt ausgewählte sollte selektiert sein.

                Kommentar


                • #9
                  du gibst ja auch alle aus

                  vorselektiert is immer der eintrag, bei dem selected="selected" steht, ist das bei keinem der fall, ist der erste eintrag vorselektiert
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Und wie müßte dann die selected anweisung aussehen?

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      du musst schauen, welche angebotsart aktiv ist, und da noch selected="selected" in den option-tag schreiben
                      ich versteh dass so, dass du zweimal
                      Code:
                      <option value="irgendwas">nochwas</option>
                      hast und einmal
                      Code:
                      <option value="irgendwas" selected="selected">nochwas</option>
                      du nicht?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        Ich habe nur eine Anweisung und zwar die erste. Also muss ich noch die selected Anweisung einfügen. Aber wo?

                        Kommentar


                        • #13
                          Original geschrieben von Benji
                          while($row = mysql_fetch_array($abfrage_angebotsarten))
                          {
                          $angebotsart = $row['name'];
                          $angebots_name.= "<option value=\"$angebotsart\">$angebotsart</option>";
                          }
                          hier

                          du musst halt noch irgendwo den zuletzt gewählten wert haben, damit du was zu vergleichen hast
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Jetzt funktioniert es einigermaßen. Nur habe ich noch ein Problem. Wenn ich einen Eintrag auswähle, dann wird er auch in die Datenbank eingetragen. Das ist alles ok. Wenn ich das Formular aufrufe, dann wird der letzte Eintrag auch selektiert. Nur wird er jetzt doppelt dargestellt.

                            #Hier werden alle Angebotsarten ausgelesen
                            $abfrage_angebotsarten = mysql_query("SELECT DISTINCT name FROM dhs_angebotsarten ORDER BY name ASC");
                            while($row = mysql_fetch_array($abfrage_angebotsarten))
                            {
                            $angebotsart = $row['name'];
                            $angebots_name.= "<option value=\"$angebotsart\">$angebotsart</option>";
                            }

                            #Hier werden sollen alle Angebotsarten ausgegeben und der letzte Eintrag selektiert werden
                            <tr>
                            <td width="25%"><font size="2">Angebotsart:</font></td>
                            <td width="75%">
                            <select size="1" name="angebotsart">
                            <option value="angebots_name"><?echo $angebots_name?></option>
                            <option value="angebots_art" selected="selected"><?echo $angebots_art?></option>
                            </select>
                            </td>
                            </tr>

                            Ich kann mir einfach die doppelten Einträge nicht erklären. Habt ihr vielleicht ne Idee?

                            Gruss
                            Benji

                            Kommentar


                            • #15
                              Original geschrieben von Benji
                              Ich kann mir einfach die doppelten Einträge nicht erklären.
                              denkst du vielleicht mal wenigstens ein kleines stück weit logisch nach ...?

                              in deiner while-schleife speicherst du immer den aktuellen wert in $angebotsart, und hängst _alle_ werte in $angebots_name aneinander.

                              nachher gibst du sowohl $angebotsname (enthält bereits alle werte) als auch $angebots_art aus - leuchtet es dir nicht ein, dass das jetzt einer zu viel ist?

                              du musst in deiner while-schleife mit if abfragen, bei welchem wert du das selected setzen willst.


                              aber das thema hatten wir schon ettliche male hier im forum, warum bitte müssen wir dir das jetzt zum x-ten mal erklären?
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar

                              Lädt...
                              X