【问题标题】:MySql While Loop to Assign VariablesMySql While 循环分配变量
【发布时间】:2013-04-07 19:23:23
【问题描述】:

我正在尝试创建一个显示 mysql 查询输出的表。但是,如果查询的一行结果等于默认的null00:00:00,那么我想改为显示''。不幸的是,如果查询中存在任何00:00:00,无论出于何种原因,我的代码都会将所有条目更改为''。我预计问题是在循环期间没有重新定义变量,但我不完全确定。我很感激任何帮助。 PHP脚本如下:

$table = "<ul data-role='listview' data-theme='b' id='myTabDiv'>";
 while($row = mysqli_fetch_assoc($res)){ 
  $actdep = $row['actdep'];

  if($row['actdep'] = '00:00:00'){
       $actdep = '';
  }

 $table .=  "<li><table style='table-layout: fixed; width: 100%'><tr><td>" . $actdep . "</td></tr></table></li>";

 };
$table .= "</ul>";
echo $table;

如果您注释掉第 6 行 ($actdep = '';),则所有值都会显示,否则不会显示。表中只有一个值的时间为00:00:00

【问题讨论】:

    标签: php while-loop variable-assignment


    【解决方案1】:

    这是因为您在 if 测试中使用了 = 符号。您应该使用== 进行比较(注意两个等号。)而不是比较值,而是将值分配给变量。

    【讨论】:

    • 今天最简单的问题! =) 谢谢。
    【解决方案2】:

    您应该使用===== 进行比较(后者也比较类型,而不仅仅是对值的解释):

    if($row['actdep'] == '00:00:00'){
      $actdep = '';
    }
    

    【讨论】:

      【解决方案3】:

      改成

      if($row['actdep'] == '00:00:00'){ 
           $actdep = '';
      }
      

      1 等于分配 2 等于比较

      【讨论】:

        【解决方案4】:

        您在if 声明中犯了一个错误;而不是使用相等比较运算符,而是设置值,它也不会返回布尔值。

        试试这个吧:

        if($row['actdep'] == '00:00:00'){
        

        【讨论】:

          【解决方案5】:

          我宁愿将html代码放在php之外

          <ul data-role='listview' data-theme='b' id='myTabDiv'>
          <?php
           while($row = mysqli_fetch_assoc($res)){ 
            $actdep = $row['actdep'];
          
            if($row['actdep'] == '00:00:00'){
          ?>
            <li><table style='table-layout: fixed; width: 100%'><tr><td>&nbsp;</td></tr></table></li>
          <?php
           } else {
           ?> 
           <li><table style='table-layout: fixed; width: 100%'><tr><td><?php echo $actdep; ?></td></tr></table></li>
          <?php }
           }
           ?>
          </ul>
          

          我还纠正了equal symbol 的一个错误
          一个用于声明变量,
          两个用于等于
          three用于不同,(您也可以!=进行不同比较)
          所以您可以使用double来比较==

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2011-10-01
            • 2011-03-07
            • 1970-01-01
            • 2015-11-04
            • 1970-01-01
            • 2012-10-29
            • 2022-07-07
            • 1970-01-01
            相关资源
            最近更新 更多