Gorginio: Zeilenbruch in Mysql Textfeld definieren

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

  1. 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

    1. 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

    2. 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

      1. 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??

        1. 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

          1. Thx Tom,

            Jetzt hab ich's

            Tja die kleinsten Probleme kosten am meisten Nerven und Zeit.

            lg
            Gorginio

        2. Moin!

          Was mache ich falsch??

          Du benutzt nl2br() nicht.

          - Sven Rautenberg