PHP查询mysql数据库,为短表值回显长名称


PHP query mysql database, echo long name for short table value

我有一个表,其中一列的值是较长单词的缩写,并且表当前正在填充的方式,我不能更改列中的值。

然后我有一个PHP页面,做一个基本的MySQL查询和回声的这些值到页面上,我想做的是回声值在他们的长字格式,但没有交叉查询-他们必须与页面上的变量组成(除非有人可以建议另一种方式):

我的意思是:

TABLE A - ROW 1

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

是否有一种更简单/更短的方法来编写查询数据库的页面,而不是做大量的if/elseif语句:

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

可以使用switch语句:

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

或者你可以使用map:

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

还可以使用三元操作符,如下所示:

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

或者如果你有你提到的多个条件,像这样:

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

等等

构建一个数组来存储它们,使用短代码作为键,长单词作为值:

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

然后使用键调用数组,输出长单词。

echo $words[$value];