group_concat: отображать значения в новой строке браузера

У меня есть простой запрос, который я использую функцию GROUP_CONCAT() MYSQL:

SELECT `ProductID` , GROUP_CONCAT( Description
SEPARATOR "\n" ) AS description
FROM Features
GROUP BY `ProductID`

Приведенный выше запрос прекрасно работает в интерфейсе phpmyadmin, т.е. возвращаемые значения отображаются в новой строке, как показано ниже:

Однако, когда я запускаю запрос в браузере, значения разделяются пробелом, а не в новой строке, как хотелось бы:

Я должен отметить, что я даже пытался использовать теги BR в качестве разделителя (GROUP_CONCAT( Features.Description SEPARATOR "<br>" ))

но все еще не отображает значения в новой строке.

Любая помощь будет высоко оценена

1 ответ

Решение

Это то, что вы хотите сделать в PHP, а не в MySQL. Это позволит ему правильно отображаться как для html (браузер), так и для не html рендеров (cli). Причина, по которой это работает в phpMyAdmin, заключается в том, что он использует nl2br для преобразования новых строк (\n) в HTML разрывы (<br>).

Пример:

echo nl2br($row['description'];

Ваш код может отличаться, это просто предполагает, что $row это отдельная строка из результатов.

Другие вопросы по тегам