Javascript 如果该语句为false,则不执行If语句

Javascript 如果该语句为false,则不执行If语句,javascript,php,Javascript,Php,我有一堆if语句,如果其中任何一个是真的,就会创建一张卡片并用HTML显示,问题是当最上面的if语句是假的时候,其余的就不会执行 if (pr) { createViewCard('Purchase Requisition', 'veiwpr'); } if (pc) { createViewCard('Petty Cash', 'veiwpc'); } if (cpr) { crea

我有一堆if语句,如果其中任何一个是真的,就会创建一张卡片并用HTML显示,问题是当最上面的if语句是假的时候,其余的就不会执行

      if (pr) {
        createViewCard('Purchase Requisition', 'veiwpr');
      }

      if (pc) {
        createViewCard('Petty Cash', 'veiwpc');
      }

      if (cpr) {
        createViewCard('Cheque/Payment Requisition', 'veiwcpr');
      }

      if (ba) {
        createViewCard('Business Advance Form', 'veiwba');
      }

      if (cqc) {
        createViewCard('Comparison Quotation Chart', 'veiwcqc');
      }
如果值是从PHP获得的,如果表中存在值,我将相应的Javascript变量设置为true:

$cr_SQL = "SELECT * FROM created_requests WHERE request_id='$rID'";
$cr_results = mysqli_query($dbcon, $cr_SQL);

while ($row = mysqli_fetch_array($cr_results)) {

  if ($row['name'] == "pr_created") {
    echo "<script>";
    echo "var pr = true;";
    echo "</script>";

    echo $row['name'];
  }

  if ($row['name'] == "ba_created") {
    echo "<script>";
    echo "var ba = true;";
    echo "</script>";

    echo $row['name'];
  }

  if ($row['name'] == "cpr_created") {
    echo "<script>";
    echo "var cpr = true;";
    echo "</script>";

    echo $row['name'];
  }

  if ($row['name'] == "cqc_created") {
    echo "<script>";
    echo "var cqc = true;";
    echo "</script>";

    echo $row['name'];
  }

  if ($row['name'] == "pc_created") {
    echo "<script>";
    echo "var pc = true;";
    echo "</script>";

    echo $row['name'];
  }
}
$cr\u SQL=“从已创建的请求中选择*,其中请求id=“$rID”;
$cr_results=mysqli_查询($dbcon,$cr_SQL);
while($row=mysqli\u fetch\u数组($cr\u results)){
如果($row['name']==“pr_created”){
回声“;
echo“var pr=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“ba_created”){
回声“;
echo“var ba=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“cpr_已创建”){
回声“;
echo“var cpr=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“cqc_已创建”){
回声“;
echo“var cqc=true;”;
回声“;
echo$row['name'];
}
如果($row['name']==“pc_已创建”){
回声“;
echo“var pc=true;”;
回声“;
echo$row['name'];
}
}

像这样做可以解决问题

 <?php
        while ($row = mysqli_fetch_array($cr_results)) {
          if ($row['name'] == "pr_created") {
            echo "createViewCard('Purchase Requisition', 'veiwpr');";
          }

          if ($row['name'] == "ba_created") {
            echo "createViewCard('Business Advance Form', 'veiwba');";
          }

          if ($row['name'] == "cpr_created") {
            echo "createViewCard('Cheque/Payment Requisition', 'veiwcpr');";
          }

          if ($row['name'] == "cqc_created") {
            echo "createViewCard('Comparison Quotation Chart', 'veiwcqc');";
          }

          if ($row['name'] == "pc_created") {
            echo "createViewCard('Petty Cash', 'veiwpc');";
          }
        }

        ?>

我不认为你所描述的是事实上的hepening。显示问题的一部分,因为在您显示的代码中,后面的if仍然会被检查,即使前面的if为true。要么是发生了其他事情,要么是您正在检查的变量实际上不是真的。@Carcigenicate同意,所有的if语句都将在这种情况下运行,因此这显然不是问题所在。不完全相关,但很有用:从您的代码来看,我们没有办法帮助您。但是如果
,请尝试顶部的
控制台中的
日志(pr)
,您将看到是什么触发了它成为
true
。您可以调试并检查
pr
的确切内容,如果出现这种情况,可能是某个空间的BCO,但它没有执行