我有一个带有“地址”字段(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
变量中的数据取自简单的文本区域。
最佳答案
实际的换行符永远不会显示在 HTML 中,除非 word-wrap
设置为pre
,或实际的pre
使用标签。但是,要克服这个问题,您可以使用 nl2br()
PHP 中的功能。您需要做的是使用 nl2br()
在将数据输出到浏览器之前,它会给您一个 HTML 格式的字符串,其中换行符前面带有 <br>
标签。
请参阅有关 nl2br()
的文档这里:http://php.net/manual/en/function.nl2br.php
关于php - HTML 表无法识别 mysql 数据库中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18990495/