Php试图在while语句中插入换行符


Php trying to insert a break line into a while statement

代码

看第二个做下面的第二个回波

do {
    echo "<strong>Topic:". $row_AllTopics['topic'] . "</strong><br>";
    mysql_select_db($database_Select, $Select);
    $query_Comments = sprintf("SELECT * FROM comments where ((event_id=%s) AND (topic_id=%s)) ", $_POST['event_id'], $row_AllTopics['id']);
    $Comments = mysql_query($query_Comments, $Select) or die(mysql_error());
    $row_Comments = mysql_fetch_assoc($Comments);
    $totalRows_Comments = mysql_num_rows($Comments);
    do {
        // This is the echo in question.
        echo $row_Comments['comment'] . "Posted by: ". $row_Comments['poster'] . "'n";
    } while ($row_Comments = mysql_fetch_assoc($Comments));

} while ($row_AllTopics = mysql_fetch_assoc($AllTopics));

输出

(此文本在屏幕上居中对齐(

Topic:computer
linuxPosted by: andy linuxPosted by: andy Topic:computer
Posted by: Topic:ji
poPosted by: andy Topic:drive
makPosted by: andy Topic:new
nicePosted by: andy Topic:golf
holePosted by: andy plPosted by: andy

请尝试使用<br>而不是'n

您可以通过以下方式在PHP中使用nl2br((函数:

echo nl2br($row_Comments['comment'] . "Posted by: ". $row_Comments['poster'] . "'n");

这将把'n转换为<br/>

"'n"将导致源代码中的换行。当你的浏览器将呈现html时,你需要使用html换行符(<br><br />(,这将给出预期的结果。

所以,你的代码将是这样的:

之前:echo $row_Comments['comment'] . "Posted by: ". $row_Comments['poster'] . "'n";

之后:echo $row_Comments['comment'] . "Posted by: ". $row_Comments['poster'] . "<br />";