Я предполагаю, что вы используете базу данных, такую как MySQL. Я также собираюсь предположить, что ваш запрос к базе данных возвращает следующие поля вопрос, Ответ и _image_path_.
PHP
$faq_html = '<div class="faq %s"><div class="content">Q: %s<br>A: %s</div>%s</div>';
while ($row = $result->fetch_object()) :
$container_class = 'no-image';
$faq_img_html = '';
if (! empty($row->image_path)) :
$container_class = 'has-image';
$faq_img_html = sprintf('<div class="pic"><img src="%s" /></div>', $row->image_path);
endif;
$faqs .= sprintf($faq_html, $container_class, $row->question, $row->answer, $faq_img_html);
endwhile;
echo '<div class="faqs-container">' . $faqs . '</div>';
Выходной сигнал будет либо иметь класс .no-image
или .has-image
на DIV обертка для каждого отдельного FAQ.
HTML
<div class="faq no-image">
<div class="content">
Q: text text text? <br>
A: text text text
</div>
</div>
<div class="faq has-image">
<div class="content">
Q: text text text? <br>
A: text text text
</div>
<div class="pic"><img src="your-img.jpg" /></div>
</div>
После того, как вы есть, что просто посыпать немного CSS.
.no-image .content { width: 100%; }
.has-image .content,
.has-image .pic { width: 50%; }
Это можно сделать разными способами. Для одного нет необходимости печатать div (альбом), если нет изображений. – JimL
Вы упомянули решение самостоятельно 'if .... elseif ...' Поэтому я не вижу, где проблема? – HamZa
Скорее всего, это лучше сделать в JS, а не в PHP. В php вы можете делать только жестко закодированный стиль, который является уродливым, как ад, и мешает использованию класса. Поэтому вместо этого создайте JS-процедуру, чтобы проверить, есть ли какие-либо изображения, присутствующие прямо при загрузке страницы, и при необходимости изменяет размеры разделов. – arkascha