Absätze in MySQL DB speichern

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

  • Absätze in MySQL DB speichern

    Hallo,
    ich habe folgende Problem: Ich füttere meine MySQL Datenbank über ein einfaches Formular. Mit einem Textarea möchte einen längeren Kommentar abspeichern. Als Datentyp haben ich Longblob in MySQL gewählt.
    Jetzt die Frage: Wie kann ich Absätze(<br>) konfortable (ohne jedesmal <br> in das Textarea zu schreiben) in mein DB speichern?

    Vielen Dank im Voraus.

  • #2
    das passiert doch schon automatisch. schaue mal mit phpmyadmin in einen datensatz rein. dort steht für einen zeilenumbruch jeweils ein \n drin.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Das scheint bei mir aber nicht der Fall zu sein.... wenn ich mir den Inhalt in PHPMyAdmin anschaue steht der Text hintereinander:??

      subseven

      Kommentar


      • #4
        kann sein, dass deine phpmyadmin version das nicht direkt zeigt ... es ist aber so. glaube mir.

        ist aber nicht schlimm. lies die daten mal mit einem script aus und stelle die dar. mache um die ausgabe <pre>...deine aushabe ...</pre> dann siehst du es auch.

        wenn du die daten später in html einbinden willst, musst du nur die \n durch <br> ersetzen. str_replace("\n", "<br>", $deinedaten)
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          nl2br() heißt das ... !!!!
          carpe noctem

          [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
          [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

          Kommentar


          • #6
            Original geschrieben von goth
            nl2br() heißt das ... !!!!
            schon klar ...

            ich mache das lieber mit str_replace. hat bei mir den vorteil, dass der text dann komplett in einer zeile steht und der klau von code etwas unübersichtlicher wird... ich mache das auch bei anderen ausgaben so.
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Ok, ich hab das jetzt mal mit dem <pre></pre> ausprobiert... klapt auch. Aber jetzt taucht da ein neues Problem auf: Der Datensatz soll in eine Tabelle wieder gegeben werden (450 Pixel breite)... doch die Textausgabe macht nun das ganze Design kaputt...

              Ach ja, da hätte ich noch eine Frage: Wie kann ich Umlaute richtig in HTML wieder geben... ich habe da mal was mit htmlspecialchars gelesen... weiss einer mehr??

              Dank..

              Kommentar


              • #8
                das <pre></pre> sollte nur zum test sein, dass du dort die umbrüche siehst. für eine richtige live-ausgabe solltest du das nicht verwenden ...

                pre steht für preformated oder so. jedenfalls vorformatierter text. wenn du das machst, bricht deine tabelle immer komisch um.

                mache das mit dem ersetzen zu <br>. dann sollte auch dein layout wieder in ordnung sein. oder hast du in den tabellenzellen ein nowrap drin?
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Also erstmal danke Abraxax. Wie du sicherlich schon bemerkt hast habe bin ich erst ein armer Neuling/Anfänger in Sachen Programmieren....

                  Ich habe da mal so eine Frage zu: str_replace("\n", "<br>", $deinedaten).
                  Meine Daten werden in PHP über eine while-Schleife ausgegen, also echo"...". Wo soll ich diesen Befehl einbauen?? Ich habe es schon versucht in nach echo".." einzusetzen... hat nicht funktioniert! Danach habe ich es vor die while Schleife gesetzt... wieder eine Fehlermeldung!
                  Was meinst du mit $deinedaten... ist damit der Inhalt des Textes gemeint (wäre dann in meinem Fall $text)???

                  Und noch mal zu den Umlauten ä;ö;ü... was muss ich machen, dass die richtig ausgegeben werden...

                  subseven

                  Kommentar


                  • #10
                    genau. das sind $deinedaten also wahrscheinlich $text in deinem fall ...

                    PHP-Code:
                    // deine ausgabe sieht ja bisher so aus.
                    while (...) {
                      echo 
                    $text;
                    }

                    // dann mache das so ....
                    while (...) {
                      echo 
                    str_replace("\\n","<br>"$text);
                      
                    // oder die variante von goth
                      
                    echo nl2br($text);

                    die umlaute musst du auch wandeln.
                    kannst die ja ne kleine funktion machen, die auf ö dann entsprechend & ouml; macht. (musste den leerschritt im forum machen )
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Danke Abraxax!! Werde ich später mal ausprobieren.

                      subseven

                      Kommentar

                      Lädt...
                      X