@Ablovka

Как сделать вывод нескольких переменных из БД, если она больше 1 (одним кодом)?

Не знал как лучше задать вопрос. Суть такова:
В базе имеется несколько ячеек: art_1, art_2, art_3. В папке лежат картинки с соответствующими названиями (art_1 и т.д).

Надо вывести картинку, если значение больше 1, если 0 не выводить. Ну это сделать легко, как лучше сделать, что бы не писать код для каждой картинки?
Пробовал так:
$db->Query("SELECT * FROM db_users_art WHERE id = '$usid' LIMIT 1");
$art = $db->FetchArray();
$art_name = $art_name + 1;
$art1 = $art["art_".$art_name];
	if ($art1 >= 1) {
		echo '<img src="/img/art/art_'.$art_name.'.gif">';
	}else echo 'Пусто';


Может ошибся где...
  • Вопрос задан
  • 159 просмотров
Решения вопроса 1
@Ablovka Автор вопроса
Решил вот так, совсем забыл про циклы :)

$db->Query("SELECT * FROM db_users_art WHERE id = '$usid' LIMIT 1");
$art = $db->FetchArray();

for ($i = 1; $i <= 3; $i++) {
    if ($art["art_".$i] >= 1) {
		echo '<img src="/img/art/art_'.$i.'.gif">';
	}
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@webdeveloper48
Тебе надо цикл делать и в цикле переберать картинки.Потом каждый елемент картинки проверяешь на значение,больше ли оно нуля или нет,если значение 0 то мы делаем break;если значение не равно 0 то мы выводим картинку.
$set = 0;
while ($art = mysqli_fetch_array() {
foreach ($art as $image) {
   if ($set == 0){
     break;
}
else {
   echo'<img src ="/img/art/art_' . $image . 'gif>';
}

}
}
Вот как то так.
Ответ написан
Hatsune-Miku
@Hatsune-Miku
Няшк :3
Непонятно, у вас много картинок и их нужно вывести? - Цикл.

Ну и ещё можно вот так сократить условие ;)
if ($art1) echo '<img src="/img/art/art_',$art_name,'.gif">'; else echo 'Пусто';


Или даже так ;)
echo $art ? '<img src="/img/art/art_',$art_name,'.gif">' : 'Пусто';
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы