このようにMySQLにデータを保存しています-
5 fruits names are -
Mango
Orange
Apple
Banana
Grapes
MySQL の新しい行にデータを保存できます。しかし、(選択クエリを使用して)フェッチしている間、HTML形式で1行に表示されます。
それを避ける方法は?
これを Perl で使用します。これはnl2brと同じです。
sub nl2br {
my $t = shift or return;
$t =~ s{([\r\n])}{<br />$1}g;
return $t;
}
私があなただったら、coma で保存し、表示するときに次のように置き換えます。
mysql> create table fruits (fruit varchar(200));
Query OK, 0 rows affected (0.04 sec)
mysql> insert into fruits values ('banana, apple, orange, grapes');
Query OK, 1 row affected (0.03 sec)
mysql> select * from fruits;
+-------------------------------+
| fruit |
+-------------------------------+
| banana, apple, orange, grapes |
+-------------------------------+
1 row in set (0.00 sec)
mysql> select replace(fruit,',','<br />') from fruits;
+----------------------------------------------+
| replace(fruit,',','<br />') |
+----------------------------------------------+
| banana<br /> apple<br /> orange<br /> grapes |
+----------------------------------------------+
1 row in set (0.00 sec)
あなたが望むようにリストを表示することに縛られていません。必要
なタグのタグを変更するだけです
または、リストが必要な場合は、これを使用できます
mysql> select concat('<ol><li>',replace(fruit,',','</li><li>'),'</li></ol>') from fruits;
+-------------------------------------------------------------------------+
| concat('<ol><li>',replace(fruit,',','</li><li>'),'</li></ol>') |
+-------------------------------------------------------------------------+
| <ol><li>banana</li><li> apple</li><li> orange</li><li> grapes</li></ol> |
+-------------------------------------------------------------------------+
1 row in set (0.00 sec)
HTML は改行文字を尊重しません。nl2br()
プレーンテキストを「改行」を含む HTML マークアップに変換するために使用します。
あなたの場合、 all\n
をに置き換えるだけ<br />
です。
私はあなたのコードについて何も知らないので、あなたがフォーマットを使用していないというのが私の最善の推測です。PHP またはスクリプトレットを使用してデータを取得している場合は、すべてのデータを配列として取得し、その配列を html 形式のループで出力できます。AJAX を利用して、HTML で表示したい方法で印刷することもできます。コードを投稿していただけると助かります。