with texto saltos salto new mostrar linea guardar formato con breaks mysql newline insert-into

mysql - texto - salto de linea textarea php



Agregar un salto de lĂ­nea en MySQL INSERT INTO text (11)

¿Podría alguien decirme cómo agregar una nueva línea en un texto que ingresé en una tabla MySql?

Intenté usar ''/n'' en la línea que ingresé con la INSERT INTO pero ''/n'' se muestra tal como está.

En realidad, he creado una tabla en MS Access con algunos datos. MS Access agrega una nueva línea con ''/n'' . Estoy convirtiendo los datos de la tabla de MS Access en MySql. Pero cuando convierto, el ''/n'' se ignora y todo el texto se muestra en una sola línea cuando lo visualizo desde la tabla MySql en un formulario PHP.

¿Alguien puede decirme cómo MySQL puede agregar una nueva línea en un texto? En espera de respuesta, gracias !!


  1. Tienes que reemplazar /n con <br/> antes de insertarlo en la base de datos.

    $data = str_replace("/n", "<br/>", $data);

    En este caso, en la tabla de la base de datos, verá <br/> lugar de una línea nueva.

    p.ej

    First Line
    Second Line

    se vera como:

    First Line<br/>Second Line

  2. Otra forma de ver los datos con una nueva línea. Primero lee los datos de la base de datos. Y luego reemplace /n con <br/> por ejemplo:

    echo $data;
    $data = str_replace("/n", "<br/>", $data);
    echo "<br/><br/>" . $data;

    salida:

    First Line Second Line

    First Line
    Second Line


    Encontrará detalles sobre la función str_replace () aquí: http://php.net/manual/en/function.str-replace.php


En SQL o MySQL, puede usar las funciones char o chr para ingresar un ASCII 13 para el retorno de línea de retorno de carro, el /n equivalente. Pero como ha dicho @David M, lo más probable es que el HTML lo muestre y un br es lo que funcionará.


En primer lugar, si desea que se muestre en un formulario PHP, el medio es HTML, por lo que se representará una nueva línea con la etiqueta <br /> . Verifique el código fuente HTML de la página; es posible que la nueva línea se represente solo como un salto de línea, en cuyo caso su problema es simplemente traducir el texto para enviarlo a un navegador web.


Me parece que confundes el contenido de la tabla con la representación de esos contenidos en una herramienta en particular.

Supongo que está utilizando el cliente de línea de comandos (shell), el indicador mysql tanto para ingresar como para mostrar el texto en esta columna. También estoy adivinando que usted está / n está siendo almacenado como una nueva línea y que es solo la forma en que se presenta lo que está causando su confusión.

Intente usar una herramienta de GUI para acceder a sus datos de MySQL.


MySQL puede registrar saltos de línea muy bien en la mayoría de los casos, pero el problema es que necesita <br /> etiquetas en la cadena real para que su navegador muestre las interrupciones. Como mencionó PHP, puede usar la función nl2br() para convertir un carácter de salto de línea (" /n ") en la etiqueta HTML <br /> .

Solo úsalo así:

<?php echo nl2br("Hello, World!/n I hate you so much"); ?>

Salida ( en HTML ):

Hello, World!<br>I hate you so much

Aquí hay un enlace al manual: http://php.net/manual/en/function.nl2br.php


Para el registro, quería agregar algunos saltos de línea a los datos existentes y obtuve /n para que funcione bien ...

Data de muestra:

Sentence. Sentence. Sentence

Yo si:

UPDATE table SET field = REPLACE(field, ''. '', ''./r/n'')

Sin embargo, también funcionó con just /r y just /n .


Si está de acuerdo con un comando SQL que se extiende a través de múltiples líneas, entonces oedo''s sugerencia oedo''s es la más fácil:

INSERT INTO mytable (myfield) VALUES (''hi this is some text and this is a linefeed. and another'');

Acabo de tener una situación en la que era preferible tener la declaración SQL en una línea, así que descubrí que una combinación de CONCAT_WS() y CHAR() me funcionaba.

INSERT INTO mytable (myfield) VALUES (CONCAT_WS(CHAR(10 using utf8), ''hi this is some text'', ''and this is a linefeed.'', ''and another''));


Simplemente puede reemplazar toda la etiqueta /n por <br/> para que cuando se muestre la página, la línea se rompa.

UPDATE table SET field = REPLACE(field, ''/n'', ''<br/>'')


en una consulta SQL real, solo agrega una nueva línea

INSERT INTO table (text) VALUES (''hi this is some text and this is a linefeed. and another'');


INSERT INTO myTable VALUES("First line/r/nSecond line/r/nThird line");


INSERT INTO test VALUES(''a line/nanother line'');

/n simplemente funciona bien aquí