#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