php - 如果两个值相等,则更改表 bgcolor

标签 php algorithm html-table

我一直在开发一个网络应用程序,它可以检索我选择的所有乐透彩票组合及其相应的中奖组合。这是它的工作原理/我的分步工作:

  1. 从数据库中检索中奖组合表
  2. 从中奖组合表中检索到乐透 ID 后,它将用作 ID 来查找我自己选择的乐透彩票组合

    这是逻辑错误开始的地方
  3. 将第一个检索到的所选乐透组合与每个中奖组合进行比较。 (先选组合等于第一个获胜组合1,依此类推..)
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 表行):

这是我当前输出的图像:

enter image description here

目标输出

我想要的是修复打印行的重复,并在所选乐透组合与中奖组合匹配时标记表格单元格。打印一行与其选择的乐透组合,如果与相应的中奖乐透组合相匹配,则将单元格的 bgcolor 设置为绿色。

问题

如何修正我的算法?还是我的算法从一开始就错了?

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

最佳答案

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

    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>";

关于php - 如果两个值相等,则更改表 bgcolor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52577320/

相关文章:

php - doctrine odm 为日期字段返回 null

java - 迷宫算法的数组未存储正确的值

java - 无法使用 selenium 单击 <label for ="chk"> 标签内的复选框

javascript - 使用 jQuery 动态添加和删除表列

PHP 5.4 和 SMTP

php - Oracle Blob 作为 PHP 页面中的 img src

java - 计算整数范围内数字出现次数的非递归方法

c++ - 应用于数组时呈现数组积分的最小正乘数

css - 使用 CSS 强制表列中的 div 与列具有相同的高度

php - 需要一些关于 MVC 分离的建议