Avatar billede duqe Nybegynder
11. juni 2008 - 21:16 Der er 12 kommentarer

Formatering af teksten forsvinder i MySQL

Hej

Jeg er ved at lave et artikel system hvor man skal kunne indskrive nogle artikler på en administrator side, og de derefter skal kunne læses på en brugerside.

Jeg har to vigtige rækker i min MySQL database: Overskrift og selve anmeldelsen.

Overskriften bliver sat ind i en varchar(100) og selve anmeldelsen bliver sat ind i en longtext. (dette sker fra en html-formular på administrator siden).

Problemet er når jeg vil hente artiklen ud af databasen igen. Hvis jeg f.eks. har lavet nogle linjeskift i anmeldelsen, sletter den al formatering når det bliver sat ind i MySQL.

Kan man undgå dette? Eller skal jeg indtaste html-koder i formularen når jeg tilføjer en artikel?

På forhånd tak
Avatar billede erikjacobsen Ekspert
11. juni 2008 - 21:22 #1
Linieskift forsvinder næppe, men vises jo ikke som linieskift på en html-side. Kig på http://php-net/nl2br
Avatar billede duqe Nybegynder
11. juni 2008 - 21:27 #2
Tak for svaret. Var inde og kigge på det link, men syntes ikke jeg kunne bruge det som løsning på mit problem?

Når jeg skriver en artikel i en formular kunne den f.eks. se sådan ud:

Overskrift: Artikel nummer 1
Anmeldelse: Bla bla bla bla (linje 1)
            Bla bla bla bla (linje 2)

Men når det så bliver indsat i MySQL databasen (som longtext) bliver det til en lang tekst, og bliver udskrevet på følgende måde:

Overskrift: Artikel nummer 1
Anmeldelse: Bla bla bla bla (linje 1) Bla bla bla bla (linje 2)
Avatar billede erikjacobsen Ekspert
11. juni 2008 - 21:31 #3
Hmm, du skal nok bare

  print nl2br($row['anmeldelse']);

sådan ca., hvis $row er rækker fra en mysql_fetch_array, og dit felt hedder 'anmeldelse'
Avatar billede duqe Nybegynder
11. juni 2008 - 22:31 #4
Hej

Jeg tror bare jeg indsætter html-koderne manuelt når jeg indtaster mine artikler. Så kan jeg også formatere med tekst-størrelser, farver o.s.v

Men tak for dine svar alligevel :)
Avatar billede jakobdo Ekspert
11. juni 2008 - 22:43 #5
Betyder det du ikke kunne få nl2br() til at virke ?
Avatar billede yHec Novice
12. juni 2008 - 01:03 #6
Ellers kan dum prøve med en udvidet editor, som fx tinyMCE, den virker perfekt, og du får ydermere muligheden for at formatere teksten med farver, størrelser mm.

Iøvrigt indsættes html-linjeskift (<br>) ikke når du laver et linjeskift i en formular. Så skal du bruge nl2br som jakobdo og erikjacobsen skriver.

/y
Avatar billede duqe Nybegynder
12. juni 2008 - 11:55 #7
For at være helt ærlig brugte jeg ikke ret lang tid på at give nl2br() et værdigt forsøg, da jeg egentlig syntes det fungerer fint med at indsætte html-tags manuelt.

Men kan jo bare skrive artiklen i word, og konvertere til html så man har alle de rigtige tags. Jeg vil kigge lidt mere på tinyMCE på et senere tidspunkt, da det ligner et meget brugbart værktøj.
Avatar billede jakobdo Ekspert
12. juni 2008 - 12:11 #8
Og fckeditor er også en god online editor.
Avatar billede duqe Nybegynder
12. juni 2008 - 12:20 #9
jakobdo > okay. Den vil jeg også lige tage et kig på ved samme lejlighed. Tak for jeres svar. smid bare svar, da jeg gerne tildeler point ;)
Avatar billede jakobdo Ekspert
12. juni 2008 - 12:28 #10
Jeg springer over.
Avatar billede erikjacobsen Ekspert
12. juni 2008 - 13:31 #11
Ingen point til mig, tak.
Avatar billede yHec Novice
12. juni 2008 - 14:16 #12
Tag dem selv, da du jo selv fandt en brugbar løsning ;-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester