Сокращение количества условий if

229
13 октября 2017, 14:44

Заношу в базу данных расцветки. '$rascvet[0] $rascvet[1] $rascvet[2]'

В результате так: "Коричневый Черный Зеленый" или "Черный Белый " и т.д

Вывожу из бд строку,сравниваю и на экран выходит картинка расцветки или комбинации расцветок.

Вариантов получится много. Например: вар1-Черный;Вар2-Белый Черный;Вар3 Черный серый и т.д
Правильно ли будет если для каждого варианта будет отдельное условие и своя картинка?
Или есть какой то более рациональный способ?

Cейчас использую If elseif elseif...

$row = mysql_fetch_assoc($result);
do
{

 if ($row['rascvet'] == "Коричневый Белый ") 
echo <img>1</img>'; 
elseif ($row['rascvet'] == "Белый ") 
echo <img>2</img>; 
elseif ($row['rascvet'] == "Черный Зеленый ") 
echo <img>3</img>;
/*и так далее*/
}
Answer 1

Рациональнее создать картинки с таким же название, как и в БД и благодяря этому сделать вывод без условий

$row = mysqli_fetch_all($result, MYSQLI_ASSOC);
echo "<img href=" . $row['rascvet'] . ".jpg">"
READ ALSO
JOIN одной строки ко всем

JOIN одной строки ко всем

К примеру есть результат агрегирующей функции из таблицы A

237
MySQL замена выбранных данных в выборке select

MySQL замена выбранных данных в выборке select

Добрый день! Запрос вытаскивает из таблицы строки с IDшниками, например

185
Гранулированый select c последующим update

Гранулированый select c последующим update

Есть ли способы выполнения селекта с последующим апдейтом на выбранном наборе таким образом, чтобы между двумя запросами не выполнились...

224
ORA-29532: Java call terminated by uncaught Java exception: com.jcraft.jsch.JSchException: Packet corrupt

ORA-29532: Java call terminated by uncaught Java exception: com.jcraft.jsch.JSchException: Packet corrupt

При вызове java source в oracle возвращается ошибка:

362