Здравствуйте!
Столкнулся с такой проблемой и никак в голову не приходит решение данной задачи. У меня в карточке товара есть карусель, для просмотра нескольких фотографий из базы данных. Но иногда фотографий меньше. По стандарту в базе 3 поля: image_prev1, image_prev2, image_prev3.
Допустим, я добавил 2 фотографии в товар, а третья выходит пустой и так и выводится на сайте, как пустой белый блок. а мне нужно чтобы если это возможно прогонялась циклом и смотрело, есть ли фотография поля, если да то выводить.
Можете просто проверять переменные на пустоту, и если переменная не пустая тогда добавлять её в карусель:
<?php
//Функцию желательно вынести куда нибудь подальше от HTML
function isValidCarouselImage($field) {
if (empty($field)) {
return false;
}
$array = explode('.', $field);
$extension = end($array);
$available_extensions = ['jpg', 'jpeg', 'png'];
if (!in_array($extension, $available_extensions)) {
return false;
}
return true;
}
?>
<ul class="carousel-list">
<?php if (isValidCarouselImage($model_prev1)):?>
<li class="carousel-element"><img src="<?=$model_prev1?>" class="swipebox"></li>
<?php endif;?>
<?php if (isValidCarouselImage($model_prev2)):?>
<li class="carousel-element"><img src="<?=$model_prev2?>" class="swipebox"></li>
<?php endif;?>
<?php if (isValidCarouselImage($model_prev3)):?>
<li class="carousel-element"><img src="<?=$model_prev3?>" class="swipebox"></li>
<?php endif;?>
</ul>
Но лучше бы хранить всё это в одной колонке в json
думаю, если скажут завтра сделать 5 превью не надо будет добавлять ещё 2 колонки, ещё лишние строчки кода для слайдера, и проще будет выводить всё это.
UPD. Добавил функцию проверки, но лучше это делать в момент сохранения, а не уже вывода.
Здравствуйте.
Проверяйте на значение поля в таблице:
<?php
...
//допустим у вас есть значения картинок...
$query_result->image_prev1="img1";
$query_result->image_prev2="img2";
$query_result->image_prev3="img3";
...
if($query_result->image_prev1 !== "")
//выводим картинку
if($query_result->image_prev2 !== "")
//выводим картинку
if($query_result->image_prev3 !== "")
//выводим картинку
...
//допустим у вас нет последней картинки и...
$query_result->image_prev1="img1";
$query_result->image_prev2="img2";
$query_result->image_prev3="";
...
if($query_result->image_prev3 !== "")
//не выведет картинку
?>
Виртуальный выделенный сервер (VDS) становится отличным выбором
Выдает ошибку, что надо поменять? input нету, так как это опции
Добрый деньНеоднократно натыкался в интернете на программы которые позволяют регистрировать аккаунты для вк в автоматическом режиме
На данный вопрос уже ответили: