2011-04-20 10 views
6

Creo que esta es una pregunta simple, pero todavía no lo puedo descifrar. Tengo un área de texto que después de someter va a una base de datos, y luego me hago eco de este texto en una página, pero aquí está el problema, digo que la persona escribe en el área de texto:php echo from database with break line

Hola Robert,
Este es solo una prueba !.
Jason.

Y el mensaje se dirige a la base de datos así como así, pero cuando me hago eco de eso, me sale:

Hola Robert, esto es sólo una prueba !. Jason.

Ésta es la forma:

<textarea name="newMessage" wrap="hard" cols="30" rows="3"></textarea> 

<input type="submit" name="submit" value="Ingresar"> </> 

Este es el código que utilizo para mostrar el texto:

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

Esto es lo que yo uso para insertar el código:

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']."\">"; 
    } 
+1

mientras que la inserción es decir $ carta nl2br ($ carta) –

+0

@JapanPro Es mejor guardar los datos tal como está y formatearlo sólo cuando se desea para mostrarlo. – ariefbayu

Respuesta

12

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

+0

gracias, eso funciona! – Gmo

+0

Estimado Sabeen Malik gracias –

+0

aquí nl2br ($ row ['stackoverflow_comment_text']); no funciona –

0

Use nl2br() en la salida de la base de datos.

0

probar este usuario nl2br

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

Hay 3 tipos de nueva línea: '\ r' en mac,' \ n' en linux/unix, '\ r \ n' windows. Entonces, es mejor usar 'nl2br()' que maneje la diferencia. – ariefbayu