将MySQL表回显到HTML表,显示空字段的文本

时间:2014-09-05 18:54:15

标签: php

我正在将MySQL表回显到HTML表,但我的一些数据库字段是空的。当数据库字段为空时,如何指定备用文本(而不是仅显示空白?

以下作品完美(包含空白单元格):

<?php
include("../config.php");
$link = mysqli_connect("$db_host" , "$db_user" , "$db_password" , "$db");
mysqli_select_db($link, $db);

$result = mysqli_query($link,"SELECT * FROM the_table");

echo "<table border='1'>
<tr>
<th>Name</th>
<th>Email</th>
<th>Phone</th>
</tr>";

while($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>" . $row['phone'] . "</td>";    
echo "</tr>";
}
echo "</table>";

?>

我认为答案应该是这样的(但它不起作用):

if (empty($row['name'])) {
       echo "<td>Not Specified</td>"; 
    } else { 
       echo "<td>" . $row['name'] . "</td>";
}

建议?

2 个答案:

答案 0 :(得分:0)

尝试:

if(empty($row['name']) || $row['name'] == "")

有关空文档,请参阅http://php.net/manual/en/function.empty.php。也许你的结果包含空格?然后使用修剪功能作为您问题的评论。

答案 1 :(得分:0)

我认为这应该有效:

if ($row['name'] == null) {
       echo "<td>Not Specified</td>"; 
    } else { 
       echo "<td>" . $row['name'] . "</td>";
}