echo "<a href=\"{$row['link']}\" class=\"button\">Website link</a>";
这将显示一个带有“按钮”类的锚标记,href值将是数据库中的任何内容。如果我没有存储在数据库中的链接,我不想在渲染的html中出现任何内容,但是使用此示例按钮仍会显示,它只是没有href值。
我试过这样做:
echo "{$row['link']}";
在数据库中,'link'值为:
<a href="#" class="button">Website link</a>
我的问题是我不喜欢从数据库中存储和提取HTML代码。此外,如果我在数据库中将链接值保留为空,则由于“按钮”类,按钮的一部分仍然可见。
答案 0 :(得分:0)
您只需使用isset()
测试数据PHP:isset()函数。 isset()函数用于检查是否 设置或不设置变量。如果已经使用unset()取消了变量 功能,它将不再被设置。 isset()函数返回false 如果测试变量包含NULL
if (isset($row['link'])){
echo "<a href=\"{$row['link']}\" class=\"button\">Website link</a>";
}
当你对var可能为空时使用条件时总是使用isset()因为如果不这样做会导致PHP通知错误
如果您使用NULL将值存储在数据库中,那么您不需要使用isset()!empty()
确定变量是否为空。如果变量不存在或者其值等于FALSE,则该变量被视为空。如果变量不存在,则empty()不会生成警告。也将在NULL上返回TRUE。
if (!empty($row['link'])){
echo "<a href=\"{$row['link']}\" class=\"button\">Website link</a>";
}
答案 1 :(得分:0)
听起来你需要的只是一个非常简单的条件。
您的表中有一列用于链接,因此无论它是否具有值,它都将在数组中。
添加if语句进行检查。
if ( $row['link'] ) {
echo "<a href=\"{$row['link']}\" class=\"button\">Website link</a>";
}
答案 2 :(得分:0)
尝试使用mysqli_num_rows,如果结果返回= 0 {// } else显示带链接的按钮标记