Форматирование данных должно быть определенного цвета - PullRequest
0 голосов
/ 02 июля 2019

Таким образом, вывод работает отлично, но мне нужна помощь, когда SQL выводит данные, и я хотел бы, чтобы данные были определенного цвета, основанного на состояниях.Этот запрос извлечет все состояния, которые НЕ являются «PROD», «NM», «TERM», «NULL», «IDLE», «YER».Состояния, которые будут отображаться в таблице: «ВНИЗ», «РМ» и «MDS».Цвета, которые я хотел бы вывести, это СИНИЙ, ЖЕЛТЫЙ, КРАСНЫЙ.Может кто-нибудь, пожалуйста, помогите мне с этим?Заранее спасибо!enter image description here

  #!/usr/bin/perl
use LWP::UserAgent;
use HTTP::Request::Common qw(POST GET);
use CGI qw/:standard /;
use DBI;

$dbh = DBI->connect('DBI:ODBC:SMSDWDE2','admin','admin',{RaiseError =>1, AutoCommit=>1});
my $q = new CGI();
print $q->header;
print $q->start_html(-head=>meta({-http_equiv => 'X-UA-Compatible',
                       -content=>'IE=edge,chrome=1'}),

                       -style => {'src'=>'css/eq - Copy1.css'},
                                      {'src'=>'vendor/perfect-scrollbar/perfect-scrollbar.css'},
                                      {'src'=>'vendor/bootstrap/css/bootstrap.min.css'},
                                      {'src'=>'fonts/font-awesome-4.7.0/css/font-awesome.min.css'},
                                      {'src'=>'vendor/animate/animate.css'},
                                      {'src'=>'vendor/select2/select2.min.css'},
                                      {'src'=>'css/util.css'},
                                      {'src'=>'css/main.css'},
                                      -script =>{'type'=>'text/javascript','src'=>'js/main.js'},
                                      {'type'=>'text/javascript','src'=>'vendor/jquery/jquery-3.2.1.min.js'},
                                      {'type'=>'text/javascript','src'=>'vendor/bootstrap/js/popper.js'},
                                      {'type'=>'text/javascript','src'=>'vendor/bootstrap/js/bootstrap.min.js'},
                                      {'type'=>'text/javascript','src'=>'vendor/select2/select2.min.js'},
                                      {'type'=>'text/javascript','src'=>'vendor/perfect-scrollbar/perfect-scrollbar.min.js'},

                                 -title=>'MET IN PHOTO');

print "             
<div id='wrapper'>
        <nav class='navbar navbar-inverse navbar-fixed-top' role='navigation'>
            <div class='navbar-header'>
                <button type='button' class='navbar-toggle' data-toggle='collapse' data-target=''.navbar-ex1-collapse'>
                    <span class='sr-only'>Toggle navigation</span>
                    <span class='icon-bar'></span>
                    <span class='icon-bar'></span>
                    <span class='icon-bar'></span>
                </button>
                <a class='logo' href='#'>
                    <img src='images/ti-logo.png' alt='CoolAdmin' />
                </a>
                </div>
            <div class='collapse navbar-collapse navbar-ex1-collapse'>
                <ul id='active' class='nav navbar-nav side-nav'>

                    <li><a href='CriticalToolsMet.html'><i class='fa fa-globe'></i> METROLOGY</a></li>
                    <li><a href='CriticalToolsCMPIMP.html'><i class='fa fa-globe'></i> CMP/IMP</a></li>
                    <li><a href='CriticalToolsDIFFWET.html'><i class='fa fa-globe'></i> DIFF/WET</a></li>
                    <li><a href='CriticalToolsPHOTO.html'><i class='fa fa-globe'></i> PHOTO</a></li>
                    <li><a href='CriticalToolsPLASMA.html'><i class='fa fa-globe'></i> PLASMA</a></li>
                    <li><a href='CriticalToolsTHINFILM.html'><i class='fa fa-globe'></i> THINFILM</a></li>
                </ul>
                <ul class='nav navbar-nav navbar-right navbar-user'>
                    <li class='divider-vertical'></li>
                    <li>
                        <form class='navbar-search'>
                            <input type='text' placeholder='Search' class='form-control'>
                        </form>
                    </li>
                </ul>
            </div>
        </nav>
        <div id='page-wrapper'>
            <div class='row'>
                <div class='col-lg-12'>
                    <h1>Critical Dashboard <small>Metrology</small></h1>

                </div>
                </div>
            <div class='row'>
                <div class='col-lg-12'>
                    <div class='panel panel-primary'>
                        <div class='panel-heading'>
                            <h3 class='panel-title'><i class='fa fa-bar-chart-o'></i> Fab Dashboard - DMOS5 </h3>
                        </div>
                        <table class='table'>
                            <thead>

                            <tr>

                                    <th>MISTI</th>
                                    <th>STATE</th>
                                    <th>HRS</th>

                                </tr>
                            </thead>
                    </div>";

$sqlstr="Select 
       g.entity as MISTI,
       t.cur_state      as STATE,
       ROUND(((SYSDATE-t.cur_state_dttm)*24),2) AS HRS

From Entity_Grp_Lst g
left outer join trk_id_def t
on g.facility = t.facility
and g.grp_type = t.grp_type
and g.entity=t.entity
and g.grp_type = '720'
WHERE t.cur_state NOT IN ('PROD','NM','TERM','NULL','IDLE', 'YER')
and Entity_Grp_type = '041'
and g.ENTITY_GRP in ('MET')
-- add and g.entity in ('WSI04') to list all tools

AND ROUND(((SYSDATE-t.cur_state_dttm)*24),2) > 48  
order by t.cur_state_DTTM desc

";
$sth = $dbh->prepare($sqlstr);
$sth->execute();
$sth->bind_columns(undef, \$MISTI, \$STATE, \$HRS);
while($sth->fetch()) {

   print "

                            <tbody>
                                <tr class='row100 body'>
                                    <td class='cell100 column1'><FORM ACTION='http://d5lxgenwebapp01z.dal.make.ti.com/get_de1_de2_misti_comments.pl' METHOD='POST' target='_blank' NAME='userInput2'>
        <INPUT TYPE='hidden' NAME='eq' MAXLENGTH='8' VALUE='$MISTI'>
              <INPUT TYPE='hidden' NAME='pages' SIZE='3' MAXLENGTH='2' VALUE='50'>
        <INPUT TYPE='submit' NAME='submit' VALUE='$MISTI'></form></td>
                                    <td class='cell100 column2'>$STATE</td>
                                    <td class='cell100 column3'>$HRS</td>

                                </tr>

   </tr>";
}

print "</tbody>
                        </table>
                    </div>
                </div>

                </div>
            </div>
        </div>
    </div>";
$sth->finish();
$dbh->disconnect();

print "


</body></html>";

Ответы [ 2 ]

3 голосов
/ 02 июля 2019

В этот код можно внести несколько улучшений.

  • Всегда используйте use strict и use warnings в вашем коде. И исправьте обнаруженные проблемы (в большинстве случаев объявление переменных с my по их внешнему виду).
  • У вас есть use CGI /:standard/, который импортирует загрузку функций CGI в ваше пространство имен, но затем вы вызываете эти функции только как методы для вашего объекта CGI (в $q), поэтому импорт не требуется.
  • Вы используете косвенное обозначение объекта (new CGI) для создания своего объекта CGI. Это будет работать в 99% случаев, но в тех редких случаях, когда он ломается, вы тратите дни на поиски решения проблемы. Гораздо лучше использовать CGI->new.
  • Функции создания HTML в CGI.pm (вы используете start_html()) в течение некоторого времени устарели . Пожалуйста, не используйте их.
  • Наличие необработанного HTML в вашем Perl-коде, вероятно, будет проблемой обслуживания (как вы, похоже, обнаружили, учитывая ошибки в вашем HTML). Я настоятельно рекомендую перенести ваш HTML из кода Perl в шаблоны. CGI :: Альтернативы предлагает несколько способов сделать это.
2 голосов
/ 02 июля 2019

Просто используйте значения как имена классов

<td class='cell100 column2 $STATE'>$STATE</td>

Я также исправил несколько недопустимых элементов HTML

.DOWN {
  color: blue
}

.PM {
  color: yellow
}

.MDS {
  color: red
}
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
<div id='page-wrapper'>
  <div class='row'>
    <div class='col-lg-12'>
      <h1>Critical Dashboard <small>Metrology</small></h1>

    </div>
  </div>
  <div class='row'>
    <div class='col-lg-12'>
      <div class='panel panel-primary'>
        <div class='panel-heading'>
          <h3 class='panel-title'><i class='fa fa-bar-chart-o'></i> Fab Dashboard - DMOS5 </h3>
        </div>
        <table class='table'>
          <thead>

            <tr>

              <th>MISTI</th>
              <th>STATE</th>
              <th>HRS</th>

            </tr>
          </thead>
          <tbody>
            <tr class='row100 body'>
              <td class='cell100 column1'>
                <form ACTION='http://d5lxgenwebapp01z.dal.make.ti.com/get_de1_de2_misti_comments.pl' METHOD='POST' target='_blank' NAME='userInput2'>
                  <INPUT TYPE='hidden' NAME='eq' MAXLENGTH='8' VALUE='$MISTI' />
                  <INPUT TYPE='hidden' NAME='pages' SIZE='3' MAXLENGTH='2' VALUE='50' />
                  <INPUT TYPE='submit' NAME='submit' VALUE='$MISTI' />
                </form>
              </td>
              <td class='cell100 column2 DOWN'>DOWN</td>
              <td class='cell100 column3'>$HRS</td>

            </tr>
            <tr class='row100 body'>
              <td class='cell100 column1'>
                <form ACTION='http://d5lxgenwebapp01z.dal.make.ti.com/get_de1_de2_misti_comments.pl' METHOD='POST' target='_blank' NAME='userInput2'>
                  <INPUT TYPE='hidden' NAME='eq' MAXLENGTH='8' VALUE='$MISTI' />
                  <INPUT TYPE='hidden' NAME='pages' SIZE='3' MAXLENGTH='2' VALUE='50' />
                  <INPUT TYPE='submit' NAME='submit' VALUE='$MISTI' />
                </form>
              </td>
              <td class='cell100 column2 PM'>PM</td>
              <td class='cell100 column3'>$HRS</td>

            </tr>
            <tr class='row100 body'>
              <td class='cell100 column1'>
                <form ACTION='http://d5lxgenwebapp01z.dal.make.ti.com/get_de1_de2_misti_comments.pl' METHOD='POST' target='_blank' NAME='userInput2'>
                  <INPUT TYPE='hidden' NAME='eq' MAXLENGTH='8' VALUE='$MISTI' />
                  <INPUT TYPE='hidden' NAME='pages' SIZE='3' MAXLENGTH='2' VALUE='50' />
                  <INPUT TYPE='submit' NAME='submit' VALUE='$MISTI' />
                </form>
              </td>
              <td class='cell100 column2 MDS'>MDS</td>
              <td class='cell100 column3'>$HRS</td>

            </tr>



          </tbody>
        </table>
      </div>
    </div>

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