Wie werden Seitenumbrüche in der DB gespeichert?

Registrierer

Erfahrenes Mitglied
In einem Textfeld der Datenbank (Typ: text) werden Zeilenumbrüche zwar dargestellt, jedoch kann ich nicht erkennen, wie diese markiert bzw. gespeichert sind (\n oder <br> o. ä.).
Beispiel wie es z. B. in phpMyAdmin dargestellt wird:

Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet

Lorem ipsum dolor sit amet

Hintergrund der Geschichte ist, dass ich für einen Rechnungsdruck (fpdf) mit einem benutzerdefiniertem Kundenhinweis auf der letzten Seite, der wiederum aus einer DB kommt einen variablen Abstand für den Seitenumbruch der letzte Seite einstellen möchte.

Wenn ich die Zeilen oder Umbrüche vorher zählen könnte, hätte ich eine messbare Größe dafür.
Ausgegeben wird der Text in einer Multicell, die aber in verschachtelten Funktionen auch noch mit anderen Inhalten gefüllt wird. Deshalb nützt mir die Funktion GetX() vor und nach der Zelle nicht so viel.

Deshalb die Frage: Wie werden Zeilenumbrüche in der DB gespeichert?
 
Hallo,

Zeilenumbrüche werden so gespeichert, wie du sie in die DB eingefügt hast.
Da PHPMyAdmin kein HTML anzeigt, du aber trotzdem Zeilenumbrüche mit dem Auge erkennen kannst, musst es wohl \n oder \r\n sein.
 
Die Eingabe in die DB erfolgt über ein type="textarea" Feld.
Wenn ich mir den Text dann mit echo oder vardump ausgeben lasse, sehe ich die Ursache der Umbrüche weder in der Ausgabe noch im Quelltext, obwohl die Zeilen korrekt umgebrochen werden?
 
Zuletzt bearbeitet:
Hatte es gerade korrigiert ;-) Der Benutzer schreibt sein Zeug in ein textarea Feld -> schickt das Formular ab -> Text wird in der DB gespeichert.
 
Nun ist die Frage, wie der Browser Zeilenumbrüche in Verbindung mit einer <textarea> behandelt. Laut HTML 5 Spezifikation ist er dazu angehalten, bei Nutzereingaben CR LF-Zeichen einzufügen: http://www.w3.org/html/wg/drafts/html/CR/forms.html#the-textarea-element
HTML 5 Spezifikation hat gesagt.:
Finally, there is the form submission value. It is normalized so that line breaks use U+000D CARRIAGE RETURN "CRLF" (U+000A) character pairs, and in addition, if necessary given the element's wrap attribute, additional line breaks are inserted to wrap the text at the given width.

EDIT: Es wird die Sequenz CR LF genutzt, nicht nur LF, so wie ich vorher geschrieben hatte.
 
Zuletzt bearbeitet:
Um Himmels Willen! Da stoße ich an meine (Zeit)Grenzen (bin kein Profi). Ich staune immer wieder wie wenig ich doch weiß (oder wie viel andere wissen) wenn man das beruflich macht.
Immerhin habe ich über Jahre in der Freizeit (meine Frau möge mir verzeihen) ein komplettes Projekt für eine kleine KFZ Werkstatt (5 Leute und ca. 1 Mio Umsatz) gebaut mit Rechnungswesen, FiBu, Mahnwesen, Statistik, blablabla usw.

Das läuft jetzt seit über 3 Jahren zur allgemeinen Zufriedenheit und ich behaupte das ist für einen Laien nicht schlecht.

[Sarkasmus]
Aber dafür, liebe(r) Herr/Frau ComFreek ;-) fehlt mir Basiswissen und die Lust wegen eines korrekten Seitenumruchs für die variable Fußnote zu studieren!
[/Sarkasmus]

Vielen Dank aber für Deine Mühen und Hinweise ;-)
 
Ich bin ein Herr ComFreek :D

Du bräuchtest eigentlich nur CRLF in deinem Text zählen: substr_count($deinText, "\r\n");. Und schon hast du die Anzahl der Zeilenumbrüche.
 
Zurück