Pump3r: Zeilenumbruch in Formular

Hallo liebe Community!

Ich habe folgendes Problem:

Ich habe eine <select> Auswahlliste in der beispielsweise steht:

Zeile 1: 6x 117GB Software Raid (Raid5) SATA II
Zeile 2: 3x 37GB Hardware Raid (Raid1) SCA
Zeile 3: . . . .
usw u. etc.

Die Daten such ich mir per JavaScript aus mehreren anderen Textfeldern und Listen zusammen und füge sie der Auswahlliste an.

Das Ganze speicher ich dann in meine Datenbank.

DB: ID,drives

Also das heißt zB.

1 | 6x 117GB Software Raid (Raid5) SATA II 3x 37GB Hardware Raid (Raid1) SCA

So wird gespeichert (alles in einem String).
Funktioniert wunderbar und ohne Probleme.

Nur wenn ich das Ganze wieder auslesen will, dann macht er natürlich keine Zeilenumbrüche wann er es soll.

Ich habe mir überlegt eine Art "Zeiger" einzubauen.
zb: §
Also immer wenn ein § im String vorkommt heißt das: Zeilenumbruch.
Den String nach den § zu überprüfen denk ich ist nicht das Problem.
Nur wie mach ich dann einen Zeilenumbruch?

Grüße Pump

  1. Hell-O!

    Ich habe eine <select> Auswahlliste in der beispielsweise steht:
    Zeile 1: 6x 117GB Software Raid (Raid5) SATA II
    Zeile 2: 3x 37GB Hardware Raid (Raid1) SCA
    Die Daten such ich mir per JavaScript aus mehreren anderen Textfeldern und Listen zusammen und füge sie der Auswahlliste an.

    Wie funktioniert das? Der User wählt aus verschiedenen Textfeldern und Listen etwas zusammen? Warum speicherst du es dann noch in einer Auswahlliste?

    Das Ganze speicher ich dann in meine Datenbank.
    [...]
    1 | 6x 117GB Software Raid (Raid5) SATA II 3x 37GB Hardware Raid (Raid1) SCA

    Das Datenbankdesign ist nicht optimal, Stichwort Normalisierung. Du speicherst Daten so, wie du sie später dargestellt haben möchtest, trennst also nicht zwischen Datenhaltung und -präsentation. Ich würde so herangehen:

    Tabelle drives:
    ID | Computer-ID | Anzahl | Groesse | RAID-Level | Bus-Typ

    Deine Datensätze sähen dann so aus:

    1 | 1 | 6 | 117 | 5 | SATA II
    2 | 1 | 3 |  37 | 1 | SCA

    Damit hättest du dein Darstellungsproblem nicht mehr.

    Natürlich könntest du noch weiter normalisieren, indem du z.B. für Bus-Typ eine eigene Tabelle anlegst.

    So wird gespeichert (alles in einem String).
    Funktioniert wunderbar und ohne Probleme.

    Es funktioniert zwar, aber eben nicht ohne Probleme :)

    Nur wenn ich das Ganze wieder auslesen will, dann macht er natürlich keine Zeilenumbrüche wann er es soll.

    Warum auch, du hast keine gespeichert.

    Ich habe mir überlegt eine Art "Zeiger" einzubauen.
    Also immer wenn ein § im String vorkommt heißt das: Zeilenumbruch.
    Den String nach den § zu überprüfen denk ich ist nicht das Problem.
    Nur wie mach ich dann einen Zeilenumbruch?

    Mit Hilfe einer geeigneten Stringfunktion, String.replace bietet sich an. Allerdings würde ich zunächst am Konzept etwas ändern und nur, wenn das nicht mehr möglich ist, die genannte Krücke wählen.

    Siechfred

    --
    Ich bin strenggenommen auch nur interessierter Laie. (molily)
    Zitat des Tages || Falle Aufteilungsbescheid || RT 221 Erfurt-Altstadt i.V.
    1. Okay vielen Danke erstmal :)