首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果两个值相等,则更改表bgcolor。

如果两个值相等,则更改表bgcolor。
EN

Stack Overflow用户
提问于 2018-09-30 11:10:23
回答 2查看 55关注 0票数 0

我一直在做一个网络应用程序,它检索所有我挑选的乐透彩票组合和它相应的获奖组合。下面是它的工作原理/我一步一步的工作:

  1. 检索将是数据库中的获奖组合表。
  2. 从“中奖组合”表中检索Lotto ID之后,它将使用它作为ID查找我自己选择的乐透票证组合。

--这里是逻辑错误开始的地方,

  1. 将第一次检索到的乐透组合与每个获奖组合进行比较。(第一次选中的组合等于第一次获胜组合1,以此类推。)
代码语言:javascript
复制
if($Picked1 == $Win1 || $Picked1 == $Win2 || $Picked1 == $Win3 || $Picked1 == $Win4 ||$Picked1 == $Win5 || $Picked1 == $Win6){
                    echo "<tr><td>$Win1</td>
                      <td>$Win2</td>
                      <td>$Win3</td>
                      <td>$Win4</td>
                      <td>$Win5</td>
                      <td>$Win6</td>
                      <td bgcolor = '#008000'>$Picked1</td>
                      <td>$Picked2</td>
                      <td>$Picked3</td>
                      <td>$Picked4</td>
                      <td>$Picked5</td>
                      <td>$Picked6</td></tr>";

电流输出(有逻辑错误)

如果从选中的乐透中有多个组合与乐透中奖组合匹配,它会将同一行重复到下一行。

例如:如果有4个被选中的乐透组合与获奖组合相匹配,那么它将重复4次(4行表):

下面是我当前输出的图像:

目标输出

我想要的是修复打印行的重复,如果选中的乐透组合与获胜的组合匹配,则标记表格单元格。打印一行与其选定的乐透组合,并使bgcolor的细胞绿色,如果它是匹配的相应的中奖乐透组合。

问题

我怎么才能修正我的算法?还是我的算法从一开始就错了?

这是我的完整代码:https://pastebin.com/4gN9zqZZ

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-30 12:11:00

问题是,在每个语句中,您都重复了TDs。这样它就被复制了。相反,您应该做的是只在if语句中使用一次,如下所示:

代码语言:javascript
复制
    echo "<tr><td>$Win1</td>
                  <td>$Win2</td>
                  <td>$Win3</td>
                  <td>$Win4</td>
                  <td>$Win5</td>
                  <td>$Win6</td>";
    if($Picked1 == $Win1 || $Picked1 == $Win2 || $Picked1 == $Win3 || $Picked1 == $Win4 ||$Picked1 == $Win5 || $Picked1 == $Win6){
                  echo "<td bgcolor = '#008000'>$Picked1</td>";
    else{
         echo "<td>$Picked1</td>";
    }
    if($Picked2 == $Win1 || $Picked2 == $Win2 || $Picked2 == $Win3 || $Picked2 == $Win4 ||$Picked2 == $Win5 || $Picked2 == $Win6){
                  echo "<td bgcolor = '#008000'>$Picked2</td>";
    else{
         echo "<td>$Picked2</td>";
    }
    if($Picked3 == $Win1 || $Picked3 == $Win2 || $Picked3 == $Win3 || $Picked3 == $Win4 ||$Picked3 == $Win5 || $Picked3 == $Win6){
                  echo "<td bgcolor = '#008000'>$Picked3</td>";
    else{
         echo "<td>$Picked3</td>";
    }
            //And so on...
             echo "</tr>";
票数 0
EN

Stack Overflow用户

发布于 2018-09-30 13:29:28

  • 如果执行相同的重复检查,则使用数组存储值并运行循环。

代码:

代码语言:javascript
复制
    <?php

    $winning_combinations = [$Win1,$Win2,$Win3,$Win4,$Win5,$Win6];

    while ($Row2 = mysqli_fetch_array($Picked_Lotto_Query, MYSQLI_ASSOC)){
        $picked_db_values = [];
        $picked_db_values[] = $Row2['First_Combination'];
        $picked_db_values[] = $Row2['Second_Combination'];
        $picked_db_values[] = $Row2['Third_Combination'];
        $picked_db_values[] = $Row2['Fourth_Combination'];
        $picked_db_values[] = $Row2['Fifth_Combination'];
        $picked_db_values[] = $Row2['Sixth_Combination'];    

        foreach($picked_db_values as $each_index => $each_combination){
            echo "<tr>
                    <td>$Win1</td>
                    <td>$Win2</td>
                    <td>$Win3</td>
                    <td>$Win4</td>
                    <td>$Win5</td>
                    <td>$Win6</td>";

                $combination_present = in_array($each_combination,$winning_combinations);//store it instead of checking in every iteration
                foreach($picked_db_values as $comb_index => $print_each_comb){
                    if($combination_present && $each_index === $comb_index){
                        echo "<td class='correct_combination'>";
                    }else{
                        echo "<td>";
                    }                
                    echo $print_each_comb;
                    echo "</td>";
                }
            }

            echo "</tr>";
        }
 }

在你的style.css里,只需写,

代码语言:javascript
复制
.correct_combination{
      background-color:#008000;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52577320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档