Как вывести несколько строк текста из базы данных?

Привет! Я хочу понять, как правильно отобразить введенный многострочный текст из поля textarea так, чтобы весь текст был виден без необходимости прокручивать или изменять размер поля. Как это можно сделать с использованием разметки Bootstrap?
  • 12 января 2024 г. 13:28
Ответы на вопрос 2
Приведу пример, как можно вывести многострочный текст из базы данных на веб-странице с использованием Bootstrap.

Допустим, у вас есть поле `text` в таблице в вашей базе данных, которое содержит многострочный текст. Вам необходимо извлечь этот текст и отобразить на веб-странице. Для примера используется язык PHP для получения данных из базы данных и Bootstrap 4 для стилизации.

Во-первых, нужно подключить Bootstrap через CDN или локальные файлы в вашем HTML:

```html
<!DOCTYPE html>
<html lang="ru">
<head>
    <meta charset="UTF-8">
    <title>Многострочный текст из базы данных</title>
    <!-- Подключение Bootstrap CSS -->
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
</head>
<body>

<!-- Тут будет код PHP для отображения текста -->

<!-- Подключение Bootstrap JS и Popper.js -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
</body>
</html>
```

Теперь с помощью PHP можно получить данные из базы данных и вывести их так:

```php
<?php
// Предполагаем, что у вас уже есть соединение с базой данных $conn

$query = "SELECT text FROM your_table"; // Замените your_table на имя вашей таблицы
$result = $conn->query($query);

if ($result) {
    while ($row = $result->fetch_assoc()) {
        // Заменяем символы переноса строк на тег <br>, чтобы сохранить форматирование
        $text = nl2br(htmlentities($row['text']));

        // Выводим текст в блок с классами Bootstrap для стилизации
        echo "<div class='container mt-4'>";
        echo "<div class='card'>";
        echo "<div class='card-body'>";
        echo $text; // Ваш многострочный текст
        echo "</div>";
        echo "</div>";
        echo "</div>";
    }
}
?>
```

Не забудьте использовать функцию `htmlentities()` для предотвращения XSS-атак и `nl2br()`, чтобы переносы строк в многострочном тексте были отображены корректно. Важно помнить о безопасности при выводе данных из базы.

Обратите внимание, что Bootstrap создает адаптивные и респонсивные веб-страницы, обеспечивая отображение контента на различных устройствах правильно, без необходимости прокручивать или изменять размер поля по горизонтали. Если вы хотите ограничить высоту блока и добавить вертикальную прокрутку, вы можете добавить классы Bootstrap или собственные стили CSS.
Скорее всего в базе сохранены обычные переносы строк (CR/LF), которые игнорируются в html. Нужно преобразовать их в теги br . Для этого есть специальная функция nl2br()
Похожие вопросы