Ankündigung

Einklappen
Keine Ankündigung bisher.

Selecteingabefeld aus Datenbank aktualisieren

Einklappen

Neue Werbung 2019

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

  • Selecteingabefeld aus Datenbank aktualisieren

    Hallo

    Ich habe ein Selecteingabefeld in meinem Formular eingebaut. Den Inhalt des Selecteingabefelds habe in in einer Datenbank gespeichert. Jetzt möchte ich den Inhalt wieder auslesen und das Selecteingabefeld mit dem Wert aus der Datenbank initialisieren.

    Code:
    <select name="Min_Belegung" id="Min_Belegung" style="width: 139px;">
                      <option value="0">-- bitte ausw&auml;hlen --</option>
                      <option value="1">1 Gast</option>
                      <option value="2">2 G&auml;ste</option>
                      <option value="3">3 G&auml;ste</option>
                      <option value="4">4 G&auml;ste</option>
                      <option value="5">5 G&auml;ste</option>
                      <option value="6">6 G&auml;ste</option>
                      <option value="7">7 G&auml;ste</option>
                      <option value="8">8 G&auml;ste</option>
                      <option value="9">9 G&auml;ste</option>
                      <option value="10">10 G&auml;ste</option>
                      <option value="11">11 G&auml;ste</option>
                      <option value="12">12 G&auml;ste</option>
                      <option value="13">13 G&auml;ste</option>
                      <option value="14">14 G&auml;ste</option>
                      <option value="15">15 G&auml;ste</option>
                      <option value="16">16 G&auml;ste</option>
                      <option value="17">17 G&auml;ste</option>
                      <option value="18">18 G&auml;ste</option>
                      <option value="19">19 G&auml;ste</option>
                      <option value="20">20 G&auml;ste</option>
                    </select>
    Welchen PHP-Code muss ich beim Selecteingabefeld angeben?

    Grüsse

    Pimbolie1979
    www.Gastgeber-Deutschland.de

  • #2
    Obgleich das in jedem mysql Tutorial zu finden sein sollte, hier mal der Kernpunkt:

    PHP-Code:
    <?
    while ($aSet = mysql_fetch_array ($rRessource))
      {
      ?><option value="<?= $aSet['Value'?>"><?= $aSet['Name'?></option><?
      }
    Das ist natürlich die einfache Variante ohne Templates. In Deinem Bsp. sind wahrsch. $aSet['Value'] und $aSet['Name'] identisch.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Nicht ganz. Ich möchte nicht alle Auswahlelemente in der Datenbank speichern, sondern nur den ausgewählten Wert. Dies habe ich auch schon gemacht. Das Laden des abgespeicherten Werts ist auch nicht das Problem, sondern das Updaten des Selectelements.

      z.B. wählt jemand den Wert 11 aus. Drückt anschließend auf den Speicher Knopf. Somit wird die Auswahl in der Datenbank gespeichert. Anschließend lädt er den Wert aus der Datenbank und schreibt diesen in das Selectelement. Und genau das Aktualisieren des Selectelements ist mein Problem.

      Grüsse

      JoeDoe1979
      www.Gastgeber-Deutschland.de

      Kommentar


      • #4
        Da habe ich Dich falsch verstanden. Wo kommen denn die Werte im Select her? Wenn die alle statisch sind, wirds natürlich eher aufwendig. Wenn Du die dagegen in einem Array vorhältst kannst Du beim Erstellen des Selects in z.B. der foreach () Schleife einen Stringvergleich vornehmen, oder vorher schon dem 'options' Array nen 'selected' Wert vorgeben:

        PHP-Code:
        <?
        $aOptions = range (0,20);
        $aSelected = array_fille (0,20,'');
        while ($aSet = mysql_fetch_array ($rRessource))
          {
          $aSelected[$aSet['Value']] = 'selected="selected"';
          }

        foreach($aOptions as $iKey => $sValue)
          {
          ?><option value="<?= $sValue ?><?= $aSelected[$iKey?>><?= $sValue ?></option><? 
          }
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Zitat von Pimbolie1979
          Nicht ganz. Ich möchte nicht alle Auswahlelemente in der Datenbank speichern, sondern nur den ausgewählten Wert. Dies habe ich auch schon gemacht. Das Laden des abgespeicherten Werts ist auch nicht das Problem, sondern das Updaten des Selectelements.

          z.B. wählt jemand den Wert 11 aus. Drückt anschließend auf den Speicher Knopf. Somit wird die Auswahl in der Datenbank gespeichert. Anschließend lädt er den Wert aus der Datenbank und schreibt diesen in das Selectelement. Und genau das Aktualisieren des Selectelements ist mein Problem.

          Grüsse

          JoeDoe1979
          Ach koooooomm. Wie gehts denn in HTML? <option selected="selected">. Dann überprüf doch einfach ob der Schleifenwert auch der aus der Datenbank ist, wenn ja schiebst du den String noch mit als <option>-Attribut rein, wenn nicht eben nicht.

          Ein simpler String-Vergleich ist das, Hokuspokus steckt da nicht dahinter.

          Kommentar


          • #6
            Ich hab die Befürchtung, dass sein Select statisches html ist...
            [COLOR="#F5F5FF"]--[/COLOR]
            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
            [COLOR="#F5F5FF"]
            --[/COLOR]

            Kommentar


            • #7
              Ja es ist statisches HTML. Daran kann ich aber etwas ändern. Ich habe halt viele Selectelement in meinem Formular. Diese habe nicht immer so einfache Werte, so das man sie mit einer einfachen Schleife erzeugen kann. Das mit dem Array klingt aber schon mal nicht schlecht.
              www.Gastgeber-Deutschland.de

              Kommentar


              • #8
                Ja mach das lieber. Alles andere wird ungeheuer kompliziert. Dann mußt Du nämlich in jedem <option> Tag einen Vergleich einbauen oder auf Javascript zürückgreifen.
                [COLOR="#F5F5FF"]--[/COLOR]
                [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                [COLOR="#F5F5FF"]
                --[/COLOR]

                Kommentar


                • #9
                  Genau darn habe ich auch gedacht, jedoch wenn ich jedes Element mit einem Vergleich ausstatten muss wird es sehr aufwändig.

                  Besser ist doch wenn ich meine Zusände in ein Array schreibe und dann nur das passende Arrayelement ersetze. Oder gibt es noch eine einfachere Lösung?
                  www.Gastgeber-Deutschland.de

                  Kommentar


                  • #10
                    Array initialisieren:

                    $monatsnamen = array(1=>"<option value="1">1 Gast</option> ", 2=>"<option value="1">1 Gast</option> ", 3=>"<option value="1">1 Gast</option>");

                    <select name="Min_Belegung" id="Min_Belegung" style="width: 139px;">
                    for($i = 0; $i <=10; $i++)
                    {
                    echo($monatsnamen);
                    }
                    www.Gastgeber-Deutschland.de

                    Kommentar


                    • #11
                      Vielleicht. Aber die Arrayvariante ist denke ich die beste. Du hast schnellen Zugriff auf die einzelnen Elemente und bleibst flexibel in Deinem Code ohne dauernd an das html ranzumüssen.
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Dann werde ich mal die Variante mit dem Array umsetzen.
                        www.Gastgeber-Deutschland.de

                        Kommentar


                        • #13
                          Ich würde in den Array aber nur den option-value und option-text schreiben, sonst hast du soviel redundanten Code. Außerdem wird dann das ermitteln des selektierten Wertes in der Schleife schwierig.

                          Kommentar


                          • #14
                            Oh, habe gerade erst den 'Array initialisieren' Eintrag gesehen. Da hat Zergling recht, beschränke Dein Array lieber auf die Abbilldung
                            'Wert' => 'Bezeichnung'

                            Als einige Ausnahme gilt hier der Fall, wenn Du sowohl gleiche Werte als auch gleiche Bezeichner in Deinem Select aufführen möchtest. Doppelte Werte kann das Array leider nicht.

                            Du solltest html und Inhalt so gut wie möglich trennen. Hier ist das besonders einfach, da <options> ja immer den gleichen html code enthält. Und wenn Du Dich irgendwann entscheidest, Deine Auswahl als Radiobuttons umzusetzen, erstezt Du nur eine Zeile, nicht 20.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar

                            Lädt...
                            X