Daten aus DB als select optionen

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

  • Daten aus DB als select optionen

    Hi,

    ich möchte daten aus einer datenbank in eine select liste als optionen einlesen.

    dazu 2 fragen.
    wie kann ich in ein feld der datenbank mehrere z.B. farben (rot grün blau) so eingeben, dass er beim auslesen jedes gesondert als eine option nimmt - wie trenne ich das ab?
    wie kann ich die dann als verschiedene optionen einlesen, wenn unterschiedliche select boxen verschiedene anzahlen an farben kriegen - mit ner schleife?

    wäre nett, wenn jemand hilft...

  • #2
    gehört eigentlich zum Thema "Datenbank"!

    ich würde in das Feld die Farben mit einem Trennzeichen reinschreiben (z.B. "rot|blau|grün") und ganz normal auslesen. Dann mit PHP den Wert per explode() aufdröseln. Dann ist es auch wurscht, wieviele Werte drinstehen.

    Kommentar


    • #3
      ein aufbau wäre z.B. sowas:

      tabelle:
      Code:
      id              value               select_no
      1               green              1
      2               #ff0000           1
      3               blue                 2
      einträge schreibt man nicht mit einem Trennzeichen in eine DB (sollte man zumindest nicht => normalisierung)

      anhand der select_no kannst du bestimmen, in welche selectbox der wert soll!

      gruss

      Kommentar


      • #4
        also, ich denk ich werde es erstmal so lösen, dass ich es über explode auslese.

        aber wie läuft das ab?
        hier mein versuch...

        $zeichen='|';
        $test1=$daten[Farben];
        $test = explode($zeichen,$test1);
        echo$test;

        so geht das nicht, aber ich weiss auch nicht genau, wie ich das machen soll...
        er schreibt Array....
        der datensatz 1 passt aber!

        danke für die hilfe soweit...

        Kommentar


        • #5
          print_r($test);

          dann siehst du was drinsteht und auch wie man drauf zugreift
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            soweit so gut, danke!

            jetzt will ich noch alle einträge des arrays ausgeben, und diese als select optionen eintragen...
            dabei brauche ich doch ne schleife, die so oft durchlaufen wird, wie es einträge/reihen im array gibt...

            wie kann ich die anzahl der einräge eines arrays in eine variable lesen?
            dachte, das geht in etwa so...

            $count = array_slice($test, 0,$anzahl);

            wäre dann $anzahl nicht die anzahl der reihen??

            danke für Antworten
            Zuletzt geändert von thargor1; 15.08.2003, 18:35.

            Kommentar


            • #7
              soooo, falls mal wieder jemand das gleiche problem hat, hier nun die lösung, das $daten[Farben] ist der Inhalt eines Tabellenfelds in einer Datenbank, die einträge sin jeweils mit | getrennt:

              echo("<select name=\"farben\">");
              $zeichen='|';
              $test1=$daten[Farben];
              $test = explode($zeichen,$test1);

              foreach($test as $value)
              {
              print "<option> ".$value."</option>";
              }
              echo("</select");

              ist vielleicht nicht hasenrein vom code, aber naja... es hat geklappt!
              vielen dank noch mal für die Ansatzhilfen , is ja immer das wichtigste!
              Zuletzt geändert von thargor1; 16.08.2003, 09:25.

              Kommentar

              Lädt...
              X