Как получить значение MySQL как цвет в EJS? - PullRequest
0 голосов
/ 21 мая 2019

В моем проекте nodeJS есть таблица с данными со статусом. Я хотел бы показать этот статус красным и зеленым. Для рендеринга HTML-страницы я использую EJS.

Я уже пытался использовать оператор if / else, но там я всегда получаю первое значение оператора.

MySQL:

SELECT g_id, g_name, g_status FROM games

EJS:

<table class="table table-hover">
            <thead>
                <tr class="table-info">
                    <th>Name</th>
                    <th>Status</th>
                </tr>
            </thead>

        <% if (data) { 
            data.forEach(function(game){ 

            var status = game.g_status;

            if (status = '1') {
                status = 'color-green';
            } else {
                status = 'color-red';
            }
        %>
        <tbody id="myTable">
            <tr>
                <td><%= game.g_name %></td>
                <td><%= status %></td>
            </tr>
        </tbody>
        <% }) %>
        <% } %>
</table>

В чем проблема, и как мне получить вывод SQL для определенного цвета?

Ответы [ 2 ]

1 голос
/ 21 мая 2019

использовать троичное условие следующим образом:

<table class="table table-hover">
            <thead>
                <tr class="table-info">
                    <th>Name</th>
                    <th>Status</th>
                </tr>
            </thead>

        <% if (data) { 
            data.forEach(function(game){ %>
            <tbody id="myTable">
            <tr>
                <td><%= game.g_name %></td>
                <td><%= game.g_status=='1'?'color-green':'color-red' %></td>
            </tr>
            </tbody>
        <% }) %>
        <% } %>

0 голосов
/ 21 мая 2019

хорошо. есть много мест для поиска.

  1. Оператор чтения в JavasScript
  2. статус не является частью списка, просто переменная приложения
  3. создать функцию, возвращающую цвет для данного статуса
...