2016-11-15 11 views
1

if文に要素を追加するコードがありますが、これにどう対処するのかは分かりません。私が探しているのは、それのelse部分に背景色を追加することです。この内:$statusが0でない場合PHPのifステートメント内の要素に背景色を追加する

else { 
     $status_img = '<img src="../icons/collection/checkmark.png" alt="Goal Complete">'; 
} 

だから、私はクラスgoal-box-rightの背景色を設定したいです。

私はこのようなPHPを介してCSSを操作することができますか?

foreach ($rows as $row) { 
      $status = $row['status']; 
      if ($status == 0) { 
       $status_img = '<img src="../icons/collection/x-sign.png" alt="Goal Not Complete">'; 
      } 
      else { 
       $status_img = '<img src="../icons/collection/checkmark.png" alt="Goal Complete">'; 
      } 
      $goal_date = $row['date']; 
      $fixed_goal_date = fixDate($goal_date); 
      $html = ""; 
      $html .= '<div class="goal-box" id="comment-'.$row['id'].'">'; 
      $html .= '<div class="goal-box-left">'; //added 
      $html .= '<div class="goal-post-status">'.$status_img. '</div>'; 
      $html .= '</div>'; //added 
      $html .= '<div class="goal-box-right">'; //added 
      $html .= '<div class="goal-post-title">'.$row['title']. '</div>'; 
      $html .= '<div class="goal-post-date">'.$fixed_goal_date. '</div>'; 
      $html .= '<div class="goal-post-description">'.$row['description']. '</div>'; 
      $html .= '</div>'; //added 
      $html .= '</div>'; 
+0

そして、何の問題がありますか? –

+1

背景色をインラインスタイルに設定してみませんか? – connexo

+0

問題は私のif文を通して背景色を別の色に設定する方法がわかりません。 – Paul

答えて

2

論理を分離します。ステータスに基づいてCSSクラスを追加し、スタイルシートで色を設定します。

$class = $status != 0 ? 'status-nonzero' : ''; 

$html .= '<div class="goal-box-right ' . $class . '">'; 

CSS:

.goal-box-right.status-nonzero { background-color: #foo } 

利点は、それが属していると離れてHTMLを生成するのコードからCSSでスタイルのロジックを保っています。

+0

この方法をありがとう。私はこれを使用し、それは素晴らしい作品です。再度、感謝します。 – Paul

0

だから何が問題だ:

$style = ''; 
if ($status == 0) { 
    $style = ' style="your-style:here"'; 
    $status_img = '<img src="../icons/collection/x-sign.png" alt="Goal Not Complete">'; 
} 
else { 
    $status_img = '<img src="../icons/collection/checkmark.png" alt="Goal Complete">'; 
} 

// ... 
$html .= '<div class="goal-box-right"' . $style . '>'; //added 
+0

うまくいった。ありがとう。 – Paul

+1

インラインスタイルは機能していますが、正確にはエレガントではありません... – arkascha

関連する問題