Quelqu'un pourrait-il me dire comment ajouter une nouvelle ligne dans un texte que je saisis dans une table MySql?
J'ai essayé d'utiliser le '\n'
Dans la ligne que j'ai entrée avec l'instruction INSERT INTO
Mais '\n'
Est affiché tel quel.
En fait, j'ai créé une table dans MS Access avec des données. MS Access ajoute une nouvelle ligne avec '\n'
. Je convertis les données de la table MS Access en MySql. Mais lorsque je convertis, le '\n'
Est ignoré et tout le texte est affiché sur une seule ligne lorsque je l’affiche à partir de la table MySql sous la forme PHP.
Quelqu'un peut-il me dire comment MySQL peut ajouter une nouvelle ligne dans un texte? En attente de réponse, merci !!
Si vous êtes d'accord avec une commande SQL qui s'étend sur plusieurs lignes, alors la suggestion de oedo est la plus simple:
INSERT INTO mytable (myfield) VALUES ('hi this is some text
and this is a linefeed.
and another');
Dans une situation où il était préférable d'avoir l'instruction SQL sur une seule ligne, j'ai trouvé qu'une combinaison de CONCAT_WS()
et de CHAR()
a travaillé pour moi.
INSERT INTO mytable (myfield) VALUES (CONCAT_WS(CHAR(10 using utf8), 'hi this is some text', 'and this is a linefeed.', 'and another'));
dans une requête SQL réelle, il vous suffit d'ajouter une nouvelle ligne
INSERT INTO table (text) VALUES ('hi this is some text
and this is a linefeed.
and another');
Pour mémoire, je voulais ajouter des sauts de ligne dans les données existantes et j’ai eu \n
pour bien travailler ...
Échantillon de données:
Sentence. Sentence. Sentence
J'ai fait:
UPDATE table SET field = REPLACE(field, '. ', '.\r\n')
Cependant, cela a également fonctionné avec seulement \r
et juste \n
.
INSERT INTO test VALUES('a line\nanother line');
\n
fonctionne bien ici
MySQL peut très bien enregistrer des sauts de ligne dans la plupart des cas, mais le problème est que vous avez besoin de balises <br />
Dans la chaîne réelle pour que votre navigateur affiche les sauts. Puisque vous avez parlé de PHP, vous pouvez utiliser la fonction nl2br()
pour convertir un caractère de saut de ligne ("\n
"). dans la balise HTML <br />
.
Il suffit de l'utiliser comme ça:
<?php
echo nl2br("Hello, World!\n I hate you so much");
?>
Sortie ( en HTML):
Hello, World!<br>I hate you so much
Voici un lien vers le manuel: http://php.net/manual/en/function.nl2br.php
INSERT INTO myTable VALUES("First line\r\nSecond line\r\nThird line");
Tout d’abord, si vous voulez qu’il soit affiché sur un PHP), le support est HTML et une nouvelle ligne sera donc rendue avec le <br />
tag. Vérifiez le code HTML source de la page - la nouvelle ligne peut éventuellement être rendue comme un saut de ligne. Dans ce cas, votre problème consiste tout simplement à traduire le texte à exporter dans un navigateur Web.
Vous devez remplacer \n
Par <br/>
Avant l'insertion dans la base de données.
$data = str_replace("\n", "<br/>", $data);
Dans ce cas, dans la table de base de données, vous verrez <br/>
À la place de la nouvelle ligne.
par exemple.
First Line
Second Line
ressemblera:
First Line<br/>Second Line
Une autre façon de voir les données avec une nouvelle ligne. Lisez d'abord les données de la base de données. Et remplacez ensuite \n
Par <br/>
, Par exemple. :
echo $data;
$data = str_replace("\n", "<br/>", $data);
echo "<br/><br/>" . $data;
sortie:
First Line Second Line
First Line
Second Line
Vous trouverez des détails sur la fonction str_replace () ici: http://php.net/manual/en/function.str-replace.php
En SQL ou MySQL, vous pouvez utiliser les fonctions char
ou chr
pour entrer dans un ASCII 13 pour un retour à la ligne, le \n
équivalent. Mais, comme @David M l’a déclaré, vous envisagez sans doute que le code HTML indique cette pause et c’est ce qui fonctionnera.