我有一个带有"地址"字段(VARCHAR)的mysql数据库。我还有一个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
变量中的数据取自一个简单的文本区域。
除非word-wrap
设置为 pre
或使用实际的 pre
标记,否则实际换行符永远不会显示在 HTML 中。但是,要克服这个问题,您可以使用 PHP 中的nl2br()
功能。您需要做的是在将数据输出到浏览器之前使用该nl2br()
,它将为您提供一个HTML格式的字符串,其中换行符前面加上<br>
标记。
在此处查看有关nl2br()
的文档:http://php.net/manual/en/function.nl2br.php
使用@Boy的帮助:
我在字符串输出之前添加了"nl2br"。