首页 > 解决方案 > 如何在html属性中转义php

问题描述

我想打印一个按钮网格,其中按钮将根据条件具有特定颜色,并且我无法在 html 属性中转义 php

<?php

$i=0;
$table = '<table class="table">';
foreach($rooms as $value)
{
    $s = $value['Status'];
    if ($i % 5 == 0) 
    { 
      $table .= '<tr><td><button class="<?=($s==0)? btn btn-primary : btn btn-danger?>">'. $value["RoomNo"] .'</button></td>';
  }   
  else 
  {
      $table .= '<td><button class="<?php echo ($s==0)?btn btn-primary : btn btn-danger?>">'. $value["RoomNo"] .'</button></td>';
  }
  $i++;
}
$table .= '</tr></table>';
?>
<?php  echo $table; ?>

预期结果应该像按钮应该有 btn 主类,其状态为 0,其余为红色

标签: phpcodeigniter

解决方案


尝试这个

<?php

   $i=0;
   $table = '<table class="table">';
   foreach($rooms as $value)
   {
       $btn_class = $s==0 ? "btn btn-primary" : "btn btn-danger";
       $s = $value['Status'];
       if ($i % 5 == 0) 
       { 
          $table .= '<tr><td><button class="'.$btn_class.'">'. $value["RoomNo"] .'</button></td>';
       }   
       else 
       {
          $table .= '<td><button class="'.$btn_class.'">'. $value["RoomNo"] .'</button></td>';
       }
       $i++;
   }
   $table .= '</tr></table>';
   echo $table; ?>

推荐阅读