PHP用换行从数据库返回


php echo from database with break lines

我认为这是一个简单的问题,但我还没有弄清楚。我有一个文本区域,在提交到数据库之后,然后我在页面上回显这个文本,但这里有一个问题,假设这个人在文本区域上写:

嗨,罗伯特,
这只是一个测试!
杰森。

消息像这样进入数据库,但是当我回显它时,我得到:

嗨,罗伯特,这只是一个测试!杰森。

格式是:

<textarea name="newMessage" wrap="hard" cols="30" rows="3"></textarea>
<input type="submit" name="submit" value="Ingresar"> </>

这是我用来显示文本的代码:

<?php   
    while($row = mysql_fetch_assoc($messages)){
        echo $row['mensaje']."<br/>";
    }
?>

这是我用来插入代码的:

if(isset($_POST['submit'])){        
            $check4LB = $_POST['newMessage'];
            while($letter = mysql_fetch_assoc($check4LB)){
                if($letter=' '){
                $letter='<br/>';
                }
            } /////I know this is not write bu is the idea i thgouht at least
            $query = mysql_query("SELECT (ifnull(max(idRegistro),0) + 1) as id FROM messages");
            $row = mysql_fetch_array($query);
            $idMax = $row['id'];     
            $insertMessage = "INSERT INTO messages(idRegistro, mensaje) VALUES ('".$idMax."','".$letter."')";
             mysql_query($insertMessage) or die(mysql_error());
             echo "<meta http-equiv=Refresh content='"0 ; url=".$_SERVER['PHP_SELF']."'">"; 
   }

try echo nl2br($row['mensaje']);

对数据库的输出使用nl2br()

试试这个

<?php   
    while($row = mysql_fetch_assoc($messages)){
     echo str_replace("'r",'<br/>',$row['mensaje']); 
    }
?>