PHP запрос базы данных mysql, выводит длинное имя для краткого табличного значения

У меня есть таблица со столбцом, в котором есть значения, которые являются сокращением более длинных слов и способа заполнения таблицы в настоящее время. Я не могу изменить значения в столбце.

Затем у меня есть страница PHP, которая выполняет базовый запрос MySQL и выводит эти значения на страницу, я хочу сделать это, чтобы отобразить значения в их более длинном формате слова, но мне нечего перекрестно запрашивать — они должны быть составлены из переменных на страница (если кто-то не может предложить другой путь):

Это то, что я имею в виду:

ТАБЛИЦА А — строка 1

  • A1 {long: Alpha1}
  • B1 {long: Bravo1}
  • C1 {long: Charlie1}
  • D1 {long: Delta1}
  • E1 {long: Echo1}

Существует ли более простой / короткий способ кодирования страницы, запрашивающей базу данных, кроме выполнения многочисленных операторов if / elseif:

if ($value == 'A1')
{
echo 'Alpha1';
}
elseif ($value =='B1')
{
echo 'Bravo1';
}

0

Решение

Вы можете использовать оператор switch:

switch ($value) {
case 'A1' :
echo 'Alpha1';
break;
case 'B1' :
echo 'Bravo1';
break;
default:
echo 'default'
break;
}

Или вы можете использовать карту:

$map = array('A1' => 'Alpha1', 'B1' => 'Bravo1');
echo array_key_exists($value, $map) ? $map[$value] : 'default';
0

Другие решения

Вы также можете использовать троичные операторы, например так:

echo ($value == 'A1') ? 'A1' : 'Bravo1';

Или, если у вас есть несколько условий, как вы упомянули, например, так:

echo ($value == 'A1') ?  'A1' : (($value == 'B1')  ?  'Bravo' : 'Charlie1');

и тд и тп

0

Создайте массив для хранения их всех, используя короткий код в качестве ключа и длинное слово в качестве значения:

$words = array();
$words['A1'] = 'Alpha1';
$words['B1'] = 'Bravo1';
$words['C1'] = 'Charlie1';
$words['D1'] = 'Delta1';
$words['E1'] = 'Echo1';

Затем вызовите массив, используя ключ, для вывода длинного слова.

echo $words[$value];
0
По вопросам рекламы [email protected]