Я выполняю некоторые проверки на стороне сервера и хочу стилизовать строки в зависимости от переменной PHP. Например, если переменная PHP равна 2, строка должна иметь стиль зеленый , иначе красный .

Я думал добавить функцию PHP в HTML, но это не работает. Какая лучшая практика для этого?

<tr class="<?php add_red();?>">
 <td>
  <input class="w3-radio" name="reflexive" type="radio" id="reflexiveYES" value="yes">
 </td>
</tr>

function add_red(){
    //inside validation.php
    if($a == 2){
        return "w3-green"; //class for changing the background
    }
    return "w3-red";
}
1
Eternal 22 Фев 2018 в 13:27

5 ответов

Лучший ответ

Вам не нужна функция, чтобы сделать это, попробуйте это:

<tr class="<?php echo ($a == 2) ? 'w3-green' : 'w3-red'; ?>">
 <td>
  <input class="w3-radio" name="reflexive" type="radio" id="reflexiveYES" value="yes">
 </td>
</tr>
3
Salim Ibrogimov 22 Фев 2018 в 10:45

Вам действительно нужно напечатать это значение, что-то вроде этого:

<tr class="<?php echo add_red();?>">
    <td>
        <input class="w3-radio" name="reflexive" type="radio" id="reflexiveYES" value="yes">
    </td>
</tr>

<?php
function add_red(){
    //inside validation.php
    if($a == 2){
    return "w3-green"; //class for chaning the background
    } else {
    return "w3-red";
    }
}
?>

Убедитесь, что вы определили $a внутри своей функции, иначе вы получите ошибку

0
CapitanFindus 22 Фев 2018 в 10:34

Прежде всего, передайте параметр в вашей функции. Структура функции должна выглядеть следующим образом:

function add_red( $a ){
    //inside validation.php
    if($a == 2){
        echo"w3-green"; //class for making the background red
    } else {
        echo"w3-reed"
    }
}

Затем вызовите функцию в HTML

<tr class = "<?php add_red(2); ?>">
    <td>
        <input class="w3-radio" name="reflexive" type="radio" id="reflexiveYES" value="yes">
    </td>
</tr>
1
Salim Ibrogimov 22 Фев 2018 в 11:10

Вы забыли вывести значение. Просто поставьте echo перед add_red вызовом

1
Federico klez Culloca 22 Фев 2018 в 10:35

Ваша функция возвращает указанное вами значение, но вам нужна команда для его фактического вывода:

<tr class="<?php echo add_red();?>">
 <td><input class="w3-radio" name="reflexive" type="radio" id="reflexiveYES" value="yes">
</td>
</tr>
2
Michał Skrzypek 22 Фев 2018 в 10:33