Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 显示不同的值组合,而不使用大号case/if语句_Javascript_Php_Jquery_Html_Mysql - Fatal编程技术网

Javascript 显示不同的值组合,而不使用大号case/if语句

Javascript 显示不同的值组合,而不使用大号case/if语句,javascript,php,jquery,html,mysql,Javascript,Php,Jquery,Html,Mysql,我可能是一个中级的,自学成才的php程序员。我已经有了一些项目的问题,因为它已经出现了几次,我似乎无法想出一个好的解决办法 我遇到的问题是理解如何显示从sql表中提取的不同值组合,而无需编写大量case语句或if 下面的例子应该能说明我的问题: DATABASE: ID NAME STRENGTH INTELLECT AGILITY 1 One 0 10 15 2 Two 1

我可能是一个中级的,自学成才的php程序员。我已经有了一些项目的问题,因为它已经出现了几次,我似乎无法想出一个好的解决办法

我遇到的问题是理解如何显示从sql表中提取的不同值组合,而无需编写大量case语句或if

下面的例子应该能说明我的问题:

    DATABASE:

    ID   NAME   STRENGTH    INTELLECT   AGILITY
     1   One       0           10         15
     2   Two      10            0         15
     3   Three    15           10          5
     4   Four     10           10          0
一旦我查询了这些数据,我将这些值放在一些html中,就像这样,并将其返回给Javascript,以附加到其显示容器中

    $ItemBase = '
                  <div class="itemInfoContainer">
                    <ul>
                      <li><h1>'.$BaseValues["NAME"].'</h1></li>
                      <li>Strength: '.$BaseValues["STRENGTH"].'</li>
                      <li>Intellect: '.$BaseValues["ITEM_LEVEL_REQ"].'</li>
                      <li>Agility: '.$BaseValues["STRENGTH"].'</li>
                     </ul>
                   </div>';

现在让我们假设我的数据集可以以50种不同的组合显示,当然,使用50个if语句或50个case的切换并不是最好的解决方案。我认真地坐下来,考虑了一些不同的选项,但没有找到一种可行的方法来执行这个功能。请帮忙!!!请让我澄清是否有不清楚的地方,我正在努力解决这一问题,这将为我解决一个巨大的难题。

保持从数据库列名到您想要使用的“人性化”标签的映射。然后,对于每一行,您可以遍历列,并对每一行中的每一列执行基本相同的操作:检查值,如果不是0,则显示标签和值。我应该执行循环。在这个循环中,如果任何值不是零,我应该显示项目。它需要一个外循环中的小循环。@Pointy Hi Pointy,谢谢,这看起来更有意义了,我假设您的意思是将这些值放在一个key=>value的关联数组中,这就是保持列名到人性化的映射的意思吗?你是说,无论哪一列为零,你都不想在标记中显示相应的列表项?@JakeMcclay是的-基本上,为相关(但不同和不同)值的列表组织某种键控“索引”是减少混乱代码的一种好方法。映射可以包含标签以及(可能)标志之类的内容,以说明值是否需要特殊格式,或者是否应用特殊规则(例如,如果存在一些即使为零也应显示的值)。
    if ($BaseValues["Stength"] == 0)
     dont display strength
     display intellect & Agility
    else if($BaseValues["Intellect"] == 0)
     dont display Intellect
     display strength & Agility