0

php/html でコーディングされている学校のスケジュールに問題があります。レッスンは html テーブル (驚き!!) に入力され、塗りつぶされたセルは背景色を取得する必要があります。問題は、テーブルが動的にデータで満たされるため、td タグに背景色を指定できないことです。これが私のコードです:

echo"<td id='cell' style='width:15%'>";
foreach($plan->result as $res){
   if($res->date == "20131007" && $item->startTime == $res->startTime){
      foreach ($res->kl as $kl){
         echo getKlasseById($ch, $kl->id).", ";
      }
      echo"<script type=\"text/javascript\">
      var td = document.getElementById('cell');
      td.style.backgroundColor='#FF8000';</script>";
   }
}

これが行うことは、テーブルの最初のセルを背景色で塗りつぶし、次に何も(色に関して)塗りつぶすことです。

編集

わかりました、私は私の問題を解決しました。私のプログラミングの教授が言うように、私は核融合爆弾でハトを撃とうとしました。<div>目的の背景色で foreach-loop を囲みました。とにかく、あなたの助けに感謝します。

4

2 に答える 2

1

目的の背景色で CSS クラスを作成します。

.colored { background-color: yourcolor; }

そして、をエコーするとき<td>に、クラスを追加します。

if の前に td をレンダリングする代わりに、それが主な問題である場合は、if の中でそれを行うことができます!.

echo "<td id=\"cell\" class=\"colored\">";

より明確にするために、これの代わりに次のことを意味します。

echo"<td id='cell' style='width:15%'>";
foreach($plan->result as $res){
   if($res->date == "20131007" && $item->startTime == $res->startTime){
      foreach ($res->kl as $kl){
         echo getKlasseById($ch, $kl->id).", ";
      }
      echo"<script type=\"text/javascript\">
      var td = document.getElementById('cell');
      td.style.backgroundColor='#FF8000';</script>";
   }
}

これを行うことができます:

foreach($plan->result as $res){
   if($res->date == "20131007" && $item->startTime == $res->startTime){
      echo"<td id='cell' style='width:15%' class='colored'>";
      foreach ($res->kl as $kl){
         echo getKlasseById($ch, $kl->id).", ";
      }
   }
   else {
     echo"<td id='cell' style='width:15%'>";
     // Whatever goes into the else, if needed.
   }
}

とにかく..あなたは を閉じていませんよ<td>ね?:)

于 2013-09-09T09:22:43.023 に答える