Как назначить «Нет данных» во всех строках, если значения равны нулю

#php #mysql

Вопрос:

У меня есть 40 строк столбцов, которые я хочу автоматически заполнить «Без данных». Это мой код:

 if (isset($people)) {
    $sql = "SELECT * FROM people  WHERE Name = '$people' LIMIT 0,1";
    $result = $conn->query($sql);
         
        if ($result->num_rows > 0) {
            echo "
            <table>
            <tr><th>Name</th><td>". $row["Name"]."</td></tr>
            <tr><th>Full Name</th><td>". $row["FullName"]."</td></tr>
            <tr><th>Address</th><td>". $row["Address"]."</td></tr>
            <tr><th>BirthDate</th><td>". $row["BirthDate"]."</td></tr>
            <tr><th>Spouses</th><td>". $row["Spouses"]."</td></tr>
etc..
    </table>
 

Я мог бы использовать if утверждения в каждом tr из них, как это, но мне это не нравится, должен быть более короткий путь. if($row['Spouses'] == ""){ echo "";} else{ echo $row["Spouses"];}

Комментарии:

1. Какую версию PHP вы используете? Может быть echo $row["Name"] ?? 'No data';

2. @user3783243 php 7. Я попытался использовать это внутри <таблицы> и не получилось.

3. Вы получаете сообщение об ошибке? Неправильный вывод, никакого вывода?

Ответ №1:

Вы можете использовать ?? . Он заботится о нулевых неопределенных значениях, и вы можете использовать это в качестве замены тернарного оператора. Например: $row['spouses'] ?? ''

Вы можете ознакомиться с этим оператором объединения нулей по этой ссылке: https://www.php.net/manual/en/migration70.new-features.php