@sagaton

Как получить название и 'картинку' из БД?

Пытаюсь с помощью скрипта получить название элемента и его картинку.
$result = $mysqli->query("SELECT field_image_fid, filename
FROM field_revision_field_image, file_managed
WHERE file_managed.fid = field_revision_field_image.field_image_fid AND field_revision_field_image.bundle = 'article' " );

while ($row = $result->fetch_assoc()){

print($row['filename'] . '<br>');}


При таком запросе выводится список нужных 'картинок', но когда пытаюсь получить в добавок еще и название

$result = $mysqli->query("SELECT field_image_fid, filename, title
FROM field_revision_field_image, file_managed, node
WHERE file_managed.fid = field_revision_field_image.field_image_fid AND field_revision_field_image.bundle = 'article' AND node.type = 'article' " );

while ($row = $result->fetch_assoc()){

print("URI : " . $row['filename'] . "; title: . " . $row['title'] . "<br>");}

то выводит одну и ту же картинку но разные названия.
В чем может быть ошибка?
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
erge
@erge
Примус починяю
Нет связи между таблицами file_managed или field_revision_field_image с таблицей node, поэтому у вас получается декартово произведение.
состоящее в перечислении через запятую табличных выражений в предложении FROM (таблицы, представления, подзапросы) при отсутствии предложения WHERE, связывающего столбцы из перечисленных источников строк
(см.)
в настоящее время у вас только одна связь по типу 'article' и этого очевидно недостаточно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
15 апр. 2024, в 22:14
30000 руб./за проект
02 мая 2024, в 21:59
15000 руб./за проект