我正在编写一个有三页的简单网站。对于每个页面,我在DB中有一个表,其中包含要在这些页面上显示的信息的colunms。几乎像博客一样,每一行都可能是博客文章。
例如,在我的DB(作为VARCHAR)中,我可能有文本:
这是第1行,这是第2行,这是第3行
但是当我选择数据时,获取行并回显它,文本以某种方式被修剪:
这是第1行这是第2行这是第3行
当我查看数据库中的字段时,文本格式正确,但在网站上显示错误。
require('.connection.php');
if(isset($_GET['menyValg'])){
$menyValg = $_GET['menyValg'];
switch($menyValg){
case "Hovedside":
$sql = "SELECT tittel, tekst FROM hovedside";
break;
case "Tjenester":
$sql = "SELECT tittel, tekst FROM tjenester";
break;
case "Kontakt":
$sql = "SELECT tittel, tekst FROM kontakt";
break;
default:
$sql = "SELECT tittel, tekst FROM hovedside";
}
}else{
$sql = "SELECT tittel, tekst FROM hovedside";
}
$result = $connection->query($sql);
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
echo "<h2 class='contentTittel'>".$row['tittel']."</h2><p class='contentP'>".$row['tekst']."</p><br>";
}
}else{
//could not find any data
}
答案 0 :(得分:2)
您可以使用两种方法来完成,第一种方法是使用nl2br
将新的换行符转换为<br />
echo nl2br($row['tekst']);
或者您可以回复<pre>
标记内的文字。
答案 1 :(得分:1)
数据库中的换行符实际上是作为换行符打印的(如果您检查源代码),但HTML在打印数据时无法识别换行符 - 为此,您需要转换所有换行符到<br />
代码。
最简单的方法是使用nl2br()
函数,就像这样。
echo "<h2 class='contentTittel'>".$row['tittel']."</h2><p class='contentP'>".nl2br($row['tekst'])."</p><br>";