Игорь, Плохое наименование компонентов, одна из причин они имеют название из одного слова, что может привести к неожиданным последствиям когда в html появится такой тэг
samashki777, Вам надо перевести загрузку фото на браузер, то есть вы выгружаете кампании
Select c.title, c.desc, c.item..., i.id, i.data(path), i.type
from company c
join image i on c.id = i.company_id
where c.id in [ids company ]
итд с Вашими фильтрами,
Далее на php вы в цикле рисуете компании и вложенным циклом отрисовываете компонент с изображениями, только вы учтите что если будет много фотографий то и скорость отдачи страницы будет не высокой. Если же вы не хотите чтоб работала ленивая загрузка изображений, то переводите изображения ,на пыхе, в base64 и вставляйте в img полученную строку(не рекомендую так делать)
прошу прощения за некрасивый sql, с телефона
samashki777, Ваш подход правильный, я же правильно понял что вы загружаете сначала компанию с id(путь где лежит) фотографии и отдаете ее на фронт и так со всеми кампаниями?
Ennorath, js в браузере существует вместе с html и css, чаще всего в лендингах js используется для анимации и отрисовки разных хитрых элементов, такие как слайдер, дата пикер ИТП, есть также сайты с паркингом json где идёт отрисовка данных, я бы на твоём месте учил бы это все паралельно, т.к. у тебя уже есть минимальные знания html/css