我有一个带有'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。
答案 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'。