Таблица MySql с разными цветами по значению

Я использую запросы mysql для извлечения данных из базы данных. Все мои данные хорошо отображаются в таблицах. Теперь я хочу раскрасить статус по значению меньше 2 или больше 3. Приведенный ниже код не работает. Нужна помощь.

$result = mysqli_query($connect, $query);
if (mysqli_num_rows($result) > 0)
{
   $output .= '<div class = "table-responsive">
      <table class = "table table bordered">
         <tr>
            <th>name</th>
            <th>genre</th>
            <th>time</th>
            <th>status</th>
            <th>more...</th>
         </tr>';
?>
<?php
   function status_style($row) {
      if ($row < 2) return 'background-color: #ff0000'; //red
      if ($row > 3) return 'background-color: #33cc33'; //green
      return '';
   }
?>
<?php
   while($row = mysqli_fetch_array($result))
   {
      $output .= '
         <tr>
            <td>'.$row["name"].'</td>
            <td>'.$row["genre"].'</td>
            <td>'.$row["time"].'</td>
            <td>'.$row["status"].'</td>
            <td>'.$row["more"].'</td>
         </tr>
      ';
   }
   echo $output;
   {
      echo 'Data Not Found';
   }
?>
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
154
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Вы можете попробовать что-то вроде этого:

<?php
$result = mysqli_query($connect, $query);
if (mysqli_num_rows($result) > 0)
{
   $output .= '<div class = "table-responsive">
      <table class = "table table bordered">
         <tr>
            <th>name</th>
            <th>genre</th>
            <th>time</th>
            <th>status</th>
            <th>more...</th>
         </tr>';
   function status_style($row) {
      if ($row < 2) return $color = '#ff0000'; //red
      if ($row > 3) return $color = '#33cc33'; //green
      return $color = '';
   }
   while($row = mysqli_fetch_array($result))
   {
      $output .= '
         <tr style='"'background-color: '"' . $color . '"'>
            <td>'.$row["name"].'</td>
            <td>'.$row["genre"].'</td>
            <td>'.$row["time"].'</td>
            <td>'.$row["status"].'</td>
            <td>'.$row["more"].'</td>
         </tr>
      ';
   }
   echo $output;
   {
      echo 'Data Not Found';
   }

Вы ничего не сделали с цветом фона.

Ответ принят как подходящий

Вы уже создали функцию для раскрашивания строк, но не вызывали эту функцию во время отображения вывода. Вот почему это не работает.

Измените переменную $output на:

$output .= '
    <tr>
        <td>'.$row["name"].'</td>
        <td>'.$row["genre"].'</td>
        <td>'.$row["time"].'</td>
        <td style = "'.status_style($row["status"]).'">'.$row["status"].'</td>
        <td>'.$row["more"].'</td>
     </tr>
';

Другие вопросы по теме