Как отобразить изображения на странице PHP из моей базы данных? - PullRequest
0 голосов
/ 13 мая 2019

Я пытаюсь отобразить изображения и соответствующие данные в зависимости от того, что пользователь вводит в форму (IMG 1).Все работает, но мне нужно, чтобы таблица показывала реальное изображение вместо URL.

В моей базе данных хранятся данные изображения в виде URL, но я хочу показать их как изображение на странице PHP (IMG 3).

IMG - 1: что вводит пользователь

enter image description here

IMG - 2: Результат поиска enter image description here

IMG - 3: Установить на phpMyAdmin enter image description here

Итак, в таблице (IMG 2) я хочу, чтобы вместо ссылки отображалось реальное изображение

Вот самая важная часть кода, которая выполняет поиск и отображает данные.

    $title = trim($_POST["PhotoTitle"]);
    $FromDate = trim($_POST["FromDate"]);
    $ToDate = trim($_POST["ToDate"]);
    $keywords = trim($_POST["keywords"]);

    $query ="SELECT * FROM `photos` WHERE `Photo-Title` like '%".$title."%' AND `Keywords` like '%".$keywords."%' AND `Date-of-Photo` BETWEEN '$FromDate' AND '$ToDate'";

    while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>\n ";
        echo "<td>",$row["Photo-Title"],"</td>\n";
        echo "<td>",$row["Description"],"</td>\n";
        echo "<td>",$row["Date-of-Photo"],"</td>\n";
        echo "<td>",$row["Keywords"],"</td>\n";
        echo "<td>",$row["Reference-to-S3"],"</td>\n";
        echo "</tr>\n ";
    }

Я могу предоставить любую другую информацию, если это необходимо.

Как мне решить эту проблему?

Ответы [ 2 ]

1 голос
/ 13 мая 2019

Просто отредактируйте ваше время к этому коду:

while ($row = mysqli_fetch_assoc($result)) {
        echo "<tr>\n ";
        echo "<td>",$row["Photo-Title"],"</td>\n";
        echo "<td>",$row["Description"],"</td>\n";
        echo "<td>",$row["Date-of-Photo"],"</td>\n";
        echo "<td>",$row["Keywords"],"</td>\n";
        echo "<td><img src='" . $row["Reference-to-S3"] . "' alt='" . $row["Photo-Title"] . "' /></td>\n";
        echo "</tr>\n ";
    }

выводит URL-адрес в виде изображения, используя тег <img /> HTML. Кроме того, alt добавляет заголовок к изображению, в котором при наведении курсора на изображение можно увидеть значение этого атрибута.

0 голосов
/ 13 мая 2019

Первое: ваш код крайне небезопасен.Он уязвим для SQL-инъекций и XSS.

Относительно вашего вопроса: вам нужно вывести html-тег с URL-адресом изображения в качестве атрибута src.

Например:

echo "<td><img src='" . htmlspecialchars($row["Reference-to-S3"]) . "' /></td>\n";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...