HTML表无法识别mysql数据库中的换行符

时间:2013-09-24 19:35:50

标签: php html database html-table line-breaks

我有一个带有'address'字段的mysql数据库(VARCHAR)。我还有一个html表,用于显示不同员工的地址。

我的问题是数据存储在数据库的地址字段中,地址的每一行之间都有换行符,但是当数据显示在表格中时,换行符不存在,因此整个地址显示在一个地址上线。我该如何解决这个问题?

我确信这是一个一直被问到的问题,但我无法在任何地方找到答案。我是PHP的新手,所以请原谅我的天真。

更新:

这基本上是我的代码:

if(isset($_POST['submit'])) {

$address  = $_POST['address'];

$queryupdate = "UPDATE Staff SET 
      address= :address WHERE id= :id";
$q = $db->prepare($queryupdate);
$q->execute(array(
        ":id"    => $id,
        ":address"  => $address));

$address变量中的数据来自简单的textarea。

2 个答案:

答案 0 :(得分:3)

除非word-wrap设置为pre或使用实际pre标记,否则实际换行符不会显示在HTML中。但是,要克服这个问题,您可以使用PHP中的nl2br()功能。您需要做的是在将数据输出到浏览器之前使用nl2br(),它将为您提供HTML格式的字符串,其中换行符由<br>标记添加。

请在此处查看有关nl2br()的文档:http://php.net/manual/en/function.nl2br.php

答案 1 :(得分:0)

使用@Boy的帮助:

我在输出字符串之前添加了'nl2br'。