Как избежать php в атрибутах html

Я хочу напечатать сетку кнопок, в которой кнопки будут иметь определенный цвет в соответствии с условием, и я не могу избежать php в атрибуте html.

<?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, а для остальных красный


person Vikrant Mali    schedule 02.05.2019    source источник
comment
Вы уже находитесь внутри PHP, поэтому вы не можете запустить его снова <?php. Что-то вроде class="btn btn-'.($s==0 ? 'primary' : 'danger').'">' ...   -  person Qirel    schedule 02.05.2019


Ответы (1)


Попробуй это

<?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; ?>
person Danish Ali    schedule 02.05.2019