duanjianxu4288 2014-03-10 16:30
浏览 38
已采纳

Php改变不同值的背景颜色

So i have this code that creates a SELECT in a FORM, i was wondering how can i make it to add a different background color when $value is different.

Please have in mind that $value is not always the same text and may change.

PHP CODE:

<div class="line"><select style="width: 100%;" name="fields['.base64_encode('Itinerary - Days').']" class="required">
  <option value="">--- Select Deck & Itinerary ---</option>';

foreach($main_title_array as $key => $value):    
$f.= '<option style="background-color:" value="'.$value.'">'.$value.' / '.$type_array[$key].'</option>';
endforeach;

$f.='</select></div>';

RESULT:

 <select class="required" name="fields[SXRpbmVyYXJ5IC0gRGF5cw==]" style="width: 100%;">
      <option value="">--- Select Deck &amp; Itinerary ---</option>
      <option value="Lower Deck" style="background-color:">Lower Deck / Discovery Itin 4D &ndash; 3N</option>
      <option value="Lower Deck" style="background-color:">Lower Deck / Discovery Itin 5D &ndash; 4N</option>
      <option value="Lower Deck" style="background-color:">Lower Deck / Discovery Itin 8D &ndash; 7N</option>
      <option value="Main Deck" style="background-color:">Main Deck / Discovery Itin 4D &ndash; 3N</option>
      <option value="Main Deck" style="background-color:">Main Deck / Discovery Itin 5D &ndash; 4N</option>
      <option value="Main Deck" style="background-color:">Main Deck / Discovery Itin 8D &ndash; 7N</option>
      <option value="Upper Deck" style="background-color:">Upper Deck / Discovery Itin 4D &ndash; 3N</option>
      <option value="Upper Deck" style="background-color:">Upper Deck / Discovery Itin 5D &ndash; 4N</option>
      <option value="Upper Deck" style="background-color:">Upper Deck / Discovery Itin 8D &ndash; 7N</option>
    </select>

WANTED RESULT:

<select class="required" name="fields[SXRpbmVyYXJ5IC0gRGF5cw==]" style="width: 100%;">
  <option value="">--- Select Deck &amp; Itinerary ---</option>
  <option value="Lower Deck" style="background-color:red">Lower Deck / Discovery Itin 4D &ndash; 3N</option>
  <option value="Lower Deck" style="background-color:red"">Lower Deck / Discovery Itin 5D &ndash; 4N</option>
  <option value="Lower Deck" style="background-color:red"">Lower Deck / Discovery Itin 8D &ndash; 7N</option>
  <option value="Main Deck" style="background-color:white">Main Deck / Discovery Itin 4D &ndash; 3N</option>
  <option value="Main Deck" style="background-color:white">Main Deck / Discovery Itin 5D &ndash; 4N</option>
  <option value="Main Deck" style="background-color:white">Main Deck / Discovery Itin 8D &ndash; 7N</option>
  <option value="Upper Deck" style="background-color:black">Upper Deck / Discovery Itin 4D &ndash; 3N</option>
  <option value="Upper Deck" style="background-color:black">Upper Deck / Discovery Itin 5D &ndash; 4N</option>
  <option value="Upper Deck" style="background-color:black">Upper Deck / Discovery Itin 8D &ndash; 7N</option>
</select>
  • 写回答

4条回答 默认 最新

  • doulu8537 2014-03-10 17:04
    关注

    Try this solution

    // List of colors
    $colors = array('red', 'white', 'black','blue');
    
    //The lenght of the colors available
    $lenght_colors = count($colors);
    
    //store last deck
    $last_deck = null;
    
    //Counters
    $count = 0;
    
    // Avoid warnings
    $f = null;
    
    foreach($main_title_array as $key => $value)
    {
        // Switch colors
        if($last_deck != $value)
        {
            // Check if you reached the limit of colors available if yes reset the count
            if($count != $lenght_colors)
            {
                $count++;
            }
            else
            {
                $count = 0;
            }
        }
    
        $f .= '<option style="background-color:'.$colors[$count].'" value="'.$value.'">'.$value.' / '.$type_array[$key].'</option>';
        $last_deck = $value;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)