Need some help with line breaks in MySQL database.

I created a simple IT helpdesk for my companies Intranet page.  My question is how can I send the text field to the MySQL database and preserve the line breaks?  For example..

If I put some text
in my text box, it

looks like this by hitting
the enter key.

When I display the text field on the records page it all comes out as one paragraph.  If I put <br /> in the text box at each line break then its correct but I dont want my computer illiterate coworks to have to remember to do that for each line break.  Can anyone help?  I am using Dreamweaver CS3 to generate the code if that matters to anyone.

Thanks for any help!
graphxdivaAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
nizsmoConnect With a Mentor DeveloperCommented:
for some variable in php, you can do this:

echo nl2br($my_string);

where $my_string is the string which you want the transformation of newline to <br> to take place.
Try it out, it should be what you are looking for.
0
 
steelseth12Connect With a Mentor Commented:
The new lines are preserved but because you are displaying html you need to put the <br> tag
What you can do is when you output the information instead of doing

echo $mytext;

do

echo nl2br($mytext);

this will convert all line breaks to <br> tags
0
 
nizsmoDeveloperCommented:
As a brief example below to demonstrate how to use the function.
Essentially when the "enter" key is pressed, a newline is inserted and represented by \n.
<?php
echo nl2br("foo isn't\n bar");
?>
 
// outputs foo isn't<br /> bar

Open in new window

0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
Aleksandar BradarićSoftware DeveloperCommented:
>  If I put <br /> in the text box

You've got a `nl2br()` function for PHP which does that for you. You can also take look at `addslashes()` and `stripslashes()` functions.
0
 
graphxdivaAuthor Commented:
Great nl2br worked.  One last question..  If the person hits enter/return twice to leave an empty line, the form strips the empty line prior to putting it into the DB, how can I stop that so the empty line remains?
0
 
nizsmoDeveloperCommented:
hmm it shouldn't do. it should be stored into the database ok, as it shouldn't strip the empty line (it should preserve it).
0
 
graphxdivaAuthor Commented:
No if I create a new or edit an existing record.. in my text field enter

some

text

it displays

some
text

0
 
nizsmoDeveloperCommented:
i did a quick test, and it preserves this, but i was using the TEXT field type for my database field. Is this what you are using?
0
 
graphxdivaAuthor Commented:
You mean text as your datatype in the table?  I was at medium text, switched to text and same thing.
0
 
graphxdivaAuthor Commented:
Well I created a new db to test it on again and it worked as you said.. Not sure why it didnt on the other but oh well.  Thanks for your help!
0
 
nizsmoDeveloperCommented:
weird thing! no problems glad to help :)
0
 
skellstaffCommented:
I have the same problem in my database. The fields are also type text. After using nl2br, I get both newlines and <br /> entries in the database and this causes the html code to break when drawn from the database table. I found that the extra newlines, on new data entry, went away when using type char or varchar as the database field type.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.