Zeilenbruch in Mysql Textfeld definieren
Gorginio
- datenbank
Hallo
Ich habe da eine generelle Frage:
Ich habe schon xx mal nachgelesen über zeilenbruch entfernen bei insert...., aber ist es eigentlich möglich, in einem mySQL Textfeld sowas wie ein <br> für html einzufügen, damit php beim auslesen weiß, wo es einen zeilenumbruch setzen muß.
Und wenn es sowas gibt, wäre es interessant zu wissen, ob man dies auch mittels phpmyadmin oder mySQL-Front einfügen kann.
Gorginio
Hi,
also entweder der zeilenumbruch ist enthalten - je nach OS LF CR "\n\r" (WIN) oder LF "\n" (Unix) CR oder "\r" (Mac) - oder nicht - oder nicht!
Was genau meinst du jetzt - willst du an vordfinierter Stelle einen Zeilenumbruch einfügen?
Oder geht es um das Auslesen des Textes un dann der Darstellung in HTML ? - dann wäre nl2br()- die Lösung
Gruss Sven
Hi,
also entweder der zeilenumbruch ist enthalten - je nach OS LF CR "\n\r" (WIN) oder LF "\n" (Unix) CR oder "\r" (Mac) - oder nicht - oder nicht!
Was genau meinst du jetzt - willst du an vordfinierter Stelle einen Zeilenumbruch einfügen?
Oder geht es um das Auslesen des Textes un dann der Darstellung in HTML ? - dann wäre nl2br()- die Lösung
Hi, also ich habe eine tabelle mit zig spalten. unter anderem ist eine spalte dabei wo ich Tätigkeiten eintrage. Diese ist als TEXT definiert. zb. "Sortierung von gefährlichen und ungefährlichen Abfällen" und "Deponierung" (=beides steht in einem Textfeld).
Auf der anderen Seite habe ich sowas wie ein template mit php gemacht, dass die jeweilgen Daten auslesen soll. und mir dann
Sortierung von gefährlichen und ungefährlichen Abfällen
Deponierung
untereinander schreiben soll.
Gibt es da eine Möglichkeit?
Gorginio
Hi Georginio,
in die Datenbank von MySQL kannst Du so ziemlich alles einlesen, was dem Ascii-Zeichensatz entspricht. Wie Du das dann bei der Ausgabe wieder interpretierst, ist ja Sache von Deinem Anzeigeprogramm, in diesem Fall dem Browser.
Es ist mir nicht bekannt, dass MySQL irgendwelche Zeichen zwischen 0 und 255 (inclusive) ablehenen würde. (bitte berichtigt mich, wenn ich hier falsch liege).
Du solltest Dir also eine hübsche Bildersammlung anlegen.
+-----------+ +-----------+ +-----------+ +----------+
| in | | in | | im | | Browser- |
| der | -> | PHP | -> | HTML | -> | Anzeige |
| Datenbank | | | | Quelltext | | |
+-----------+ +-----------+ +-----------+ +----------+
Es empfiehlt sich, genau zu überlegen, wo man welche Zeichen Einstanstz oder noch viel schlimmer, herausstanzt.
Der Quelltext in PHP benötigt wahrscheinlich andere Zeilenumruch-Zeichen als der Quelltext für den Browser. Und HTML wird ja bekanntermaßen als Klartext übertragen und abgespeichert.
Außerdem sollte man Werte (Texte) in der Datenbank so abspeichern, dass sie sowohl in Textareas als auch im interpretierten Teil des HTML-Codes anzeigbar sind, es sei denn, dass man in der Textarea HTML-Code eingibt. Du siehst daran, dass es auf den Anwendungsfall ankommt.
Grüße
Tom
Hi
Der Quelltext in PHP benötigt wahrscheinlich andere Zeilenumruch-Zeichen als der Quelltext für den Browser. Und HTML wird ja bekanntermaßen als Klartext übertragen und abgespeichert.
Ich habe vielleicht nicht klar genug ausgedrückt.
Die dynmische Seiten mit php klappen hervorragend.
Außer bei eine Textfeld bei mysql. Dort werden die Zeilen immer in einer Wurst ausgegeben.
Ich hätte sie aber lieber untereinander.
als beispiel:
Spalten:
Name Alter Hobbies
-----------------------------------------
Franz 20 Fischen,\r\nFrauen,\r\nFummeln
Hans 21 Husten,\r\nHändewaschen,\r\nHändchen halten
...
ausgabe in php schaut so aus:
Franz
20
Fischen, Frauen, Fummeln
ich will aber:
Franz
20
Fischen,
Frauen,
Fummeln
Was mache ich falsch??
Hallo Gorginio,
du hast Dich schon klar ausgedrückt und ich habe Dich auch richtig verstanden. Aber mit meiner Antwort konntest Du nix anfangen. Das sagt mir, dass Du dir erst einmal einen Überblick verschaffen musst, welche Zeichen wo welche Steuerwirkung haben.
In HTML gibt es für Umbrüch in normlen Textbereichen nur die Möglichkeit mit Tags zu arbeiten. Der normale Umbruch ist eben <br> oder neuerdings <br/> Aber auch <p></p>; <div></div>; <form></form> usw lösen einen Umbruch aus.
In einer Textarea dageben musst Du schon \n oder \r\n reinschreiben. Allerdings nicht als Text sondern die Steuerzeichen dafür. Wenn Du in PHP \n im Text stehen hast, wird es automatisch durch das Steuerzeichen (Ascii #10) ersetzt. Ist eben C-Syntax.
Du musst bei Dir also <br> einfügen, wenn Du einen Umbruch in der Browser-Darstellung wünschst.
Dieser Tag kann entweder bei der Berechnung der Ausgabe durch PHP eingefügt werden oder auch in Deiner Datenbank mit im Feld stehen. Davon möchte ich aber abraten, da in Datanbankfeldern eigentlich nur die reinen Nutzdaten stehen sollten. Wie sollten SQL-Abfragen sonst noch sinnvoll funktionieren.
Grüße
Tom
Thx Tom,
Jetzt hab ich's
Tja die kleinsten Probleme kosten am meisten Nerven und Zeit.
lg
Gorginio
Moin!
Was mache ich falsch??
Du benutzt nl2br() nicht.
- Sven Rautenberg