Как организовать это php if-оператор, который выводит оценки (хороший, отличный, отличный и т. Д.)? - PullRequest
2 голосов
/ 19 августа 2011

Я использую операторы php if для добавления классов в div, связанных с рейтингом:

CSS:

.average .rating-result {
    color: #888; /* 0~1 votes */
}
.good .rating-result {
    color: #9a6e65; /* 2~3 votes */
}
.great .rating-result {
    color: #aa5443; /* 4~5 votes */
}
.excellent .rating-result {
    color: #bb3b22; /* 6~7 votes */
}
.brilliant .rating-result {
    color: #cc2200; /* 8~9 votes */
}

PHP:

 <div class="topic-like-count<?php if ( $thumbs_number == 0 || 1 ) {
 echo " good"; } elseif ( $thumbs_number == 2 || 3 ) { echo " great"; }
 elseif ( $thumbs_number == 4 || 5 ) { echo " excellent"; } elseif (
 $thumbs_number > 6 || 7 ) { echo " brilliant"; } else { echo "
 average"; }?>"> h4><?php wp_gdsr_render_article_thumbs(); ?></h4>
 </div>

OUTPUT пример:

<div class="topic-like-count good">
<h4>
<div style="display: none">UA:D [1.9.10_1130]</div>
<div class="thumblock ">
<span class="rating-result">4</span>
<div class="ratingtext ">
<div class="raterclear"></div>
</div>
</h4>
</div>

Я не уверен, как организовать часть PHP.Выше я изложил идею, но этот код не работает должным образом.

У кого-нибудь есть какие-либо предложения по размещению этих php if-операторов?

Ответы [ 5 ]

3 голосов
/ 19 августа 2011
  <div class="topic-like-count
  <?php 
    switch ($thumbs_number) {
      case 0:
      case 1: echo ' good'; break;
      case 2:
      case 3: echo ' great'; break;
      case 4:
      case 5: echo ' excellent'; break;
      case 6:
      case 7: echo ' brilliant'; break;
      default: echo ' average'; break;
    }
  ?>
  ">
  <h4><?php wp_gdsr_render_article_thumbs(); ?></h4>
  </div>
2 голосов
/ 19 августа 2011

Ваш синтаксис if неправильный: if ( $thumbs_number == 0 || 1 ) оценивается как: if ( ($thumbs_number == 0) || 1), что всегда верно.

Вы должны написать: if ( $thumbs_number == 0 || $thumbs_number == 1 )

1 голос
/ 19 августа 2011
<?php if ( $thumbs_number == 0 || $thumbs_number ==1 ) {
 echo " good"; } elseif ( $thumbs_number == 2 || $thumbs_number ==3 ) { echo " great"; }
 elseif ( $thumbs_number == 4 || $thumbs_number ==5 ) { echo " excellent"; } elseif (
 $thumbs_number > 6 || $thumbs_number ==7 ) { echo " brilliant"; } else { echo "
 average"; }

?>
0 голосов
/ 19 августа 2011

Было бы более разумно включить это в статус переключателя;

switch ( $thumbs_number ) {
    case 0:
    case 1:
        $rating = 'good';
        break;
    case 2:
    case 3:
        $rating = 'great'; 
        break;
    // etc ...
}
?>

<div class="topic-like-count <?=$rating?>">
0 голосов
/ 19 августа 2011

Это заставит его всегда отображать хорошо .

|| 1 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...