2013-04-17 6 views
0

J'ai une base de données MySQL avec des messages dans (avec des sauts de ligne).Pas de saut de ligne après MySQL select

je choisis ceux-ci en utilisant cette syntaxe:

public function getById($id) { 
    $stmp = $this->_db->prepare("SELECT `content` FROM `posts` WHERE `id`= ?;"); 
    $stmp->execute(array($this->id)); 
    $row = $stmp->fetch(PDO::FETCH_ASSOC); 
    $this->content = $row['content']; 
} 

Mais cette façon je perds les sauts de ligne. Y at-il un moyen que je peux sélectionner le contenu inclus les sauts de ligne?

Sincerely,

LuxoJr

+1

Vous ne perdez pas les sauts de ligne. Votre navigateur ne fait probablement que les ignorer, car HTML veut avoir un
au lieu d'un saut de ligne. –

Répondre

3

nouvelles lignes dans la base de données sont enregistrées en tant \n (saut de ligne) ou \r (retour) ou une combinaison de ces deux. Du côté client du navigateur Web ignore ceux-ci, c'est pourquoi vous ne les voir, la seule façon de le faire est de les convertir en <br/> (pauses)

Convertis (\n\r, \r\n, \n, \r) à <br/>

nl2br($row['content']); 

voir php doc nl2br function

+0

Pourquoi une downvote? –

-2

HTML transforme en espaces interlignes. Utilisez-les pour les transformer en flux de ligne visibles en HTML:

$this->content = nl2br($row['content']); 
+0

Pourquoi ai-je été abaissé? – silkfire

Questions connexes