Задать вопрос
@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>");}

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

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

Похожие вопросы