Php 如果数据库字段为空,则隐藏文本

Php 如果数据库字段为空,则隐藏文本,php,mysqli,Php,Mysqli,我已经通过PHPmyadmin创建了一个数据库,并且正在将该数据库中的信息拉入我的wordpress站点。当前,仍会显示其中没有数据的行。例如,如果我没有输入开始日期,标题“开始日期”仍然会出现,即使它没有值 我可以知道如何重新编写代码,以便在没有值的情况下隐藏标题吗?我希望这适用于所有标题,如开始日期、说明等 多谢各位 <?php $mysqli = NEW mysqli('localhost','surviboj_wp156','p365SJ@37)','surviboj_wp156

我已经通过PHPmyadmin创建了一个数据库,并且正在将该数据库中的信息拉入我的wordpress站点。当前,仍会显示其中没有数据的行。例如,如果我没有输入开始日期,标题“开始日期”仍然会出现,即使它没有值

我可以知道如何重新编写代码,以便在没有值的情况下隐藏标题吗?我希望这适用于所有标题,如开始日期、说明等

多谢各位

<?php

$mysqli = NEW mysqli('localhost','surviboj_wp156','p365SJ@37)','surviboj_wp156');

require('/home/surviboj/public_html/wp-load.php');
$id = get_the_ID();

$resultSet = $mysqli->query("SELECT * FROM sweepstake_data WHERE item_id = $id");

if($resultSet->num_rows !=0){

    while($rows = $resultSet->fetch_assoc())
    {
        $description = $rows['description'];
        $links = $rows['links'];
        $category = $rows['category'];
        $eligibility = $rows['eligibility'];
        $start_date = $rows['start_date'];
        $end_date = $rows['end_date'];
        $entry_frequency = $rows['entry_frequency'];
        $prizes = $rows['prizes'];
        $victory_prizes = $rows['victory_prizes'];
        $additional_comments = $rows['additional_comments'];

        echo "<p>Name: $description<br /> Link: <a href=$links>Click here</a> <br /> Category: $category<br /> Eligibility: $eligibility<br /> Start date:$start_date<br /> End date: $end_date<br /> Entry frequency: $entry_frequency<br /> Prizes: $prizes<br /> Victory prizes: $victory_prizes<br /> Additional comments: $additional_comments<br />";
    }
}else {
    echo "No results.";
}

?>

您需要一个if语句,并在执行过程中构建echo语句。因此,类似这样的方法会起作用:

$out = "";
if(!empty($start_date)){
    $out .= "Start Date: $start_date <br />";
}

echo $out;
$out=”“;
如果(!空($start_date)){
$out.=“开始日期:$Start_Date
”; } 回音$out;
有更好的方法可以做到这一点,但这很简单,也很容易理解

编辑,对于所有内容:

$out = array();
(!empty($rows['description']) ? $out[] = "Name: ".$rows['description'] : "";
(!empty($rows['links']) ? $out[] = "Link: <a href='".$rows['links']."'>Click here</a> " : "";
(!empty($rows['category']) ? $out[] = "Category: ".$rows['category'] : "";
(!empty($rows['eligibility']) ? $out[] = "Eligibility: ".$rows['eligibility'] : "";
(!empty($rows['start_date']) ? $out[] = "Start date: ".$rows['start_date'] : "";
(!empty($rows['end_date']) ? $out[] = "End date: ".$rows['end_date'] : "";
(!empty($rows['entry_frequency']) ? $out[] = "Entry frequency: ".$rows['entry_frequency'] : "";
(!empty($rows['prizes']) ? $out[] = "Prizes: ".empty($rows['prizes'] : "";
(!empty($rows['victory_prizes']) ? $out[] = "Victory prizes: ".$rows['victory_prizes'] : "";
(!empty($rows['additional_comments']) ? $out[] = "Additional comments: ".$rows['additional_comments'] : "";

echo implode("<br />", $out);
$out=array();
(!empty($rows['description'])?$out[]=“Name:”.$rows['description']:”;
(!empty($rows['links')?$out[]=“Link:”;
(!empty($rows['category'])?$out[]=“category:”.$rows['category']:”;
(!empty($rows['qualification'])?$out[]=“qualification:”.$rows['qualification']:”;
(!empty($rows['start\u date'])?$out[]=“开始日期:”.$rows['start\u date']:”;
(!empty($rows['end\u date'])?$out[]=“end date:”.$rows['end\u date']:”;
(!empty($rows['entry\u frequency'])?$out[]=“entry frequency:”.$rows['entry\u frequency']:”;
(!empty($rows['prices'])?$out[]=“奖品:”。empty($rows['prices']:”;
(!空($rows['victory\u奖品])?$out[]=“胜利奖品:”.$rows['victory\u奖品]:”;
(!empty($rows['additional_comments'])?$out[]=“additional comments:”.$rows['additional_comments']:”;
回波内爆(“
”,$out);
您将需要一个if语句,并在执行过程中构建echo语句。因此,类似这样的操作将起作用:

$out = "";
if(!empty($start_date)){
    $out .= "Start Date: $start_date <br />";
}

echo $out;
$out=”“;
如果(!空($start_date)){
$out.=“开始日期:$Start_Date
”; } 回音$out;
有更好的方法可以做到这一点,但这很简单,也很容易理解

编辑,对于所有内容:

$out = array();
(!empty($rows['description']) ? $out[] = "Name: ".$rows['description'] : "";
(!empty($rows['links']) ? $out[] = "Link: <a href='".$rows['links']."'>Click here</a> " : "";
(!empty($rows['category']) ? $out[] = "Category: ".$rows['category'] : "";
(!empty($rows['eligibility']) ? $out[] = "Eligibility: ".$rows['eligibility'] : "";
(!empty($rows['start_date']) ? $out[] = "Start date: ".$rows['start_date'] : "";
(!empty($rows['end_date']) ? $out[] = "End date: ".$rows['end_date'] : "";
(!empty($rows['entry_frequency']) ? $out[] = "Entry frequency: ".$rows['entry_frequency'] : "";
(!empty($rows['prizes']) ? $out[] = "Prizes: ".empty($rows['prizes'] : "";
(!empty($rows['victory_prizes']) ? $out[] = "Victory prizes: ".$rows['victory_prizes'] : "";
(!empty($rows['additional_comments']) ? $out[] = "Additional comments: ".$rows['additional_comments'] : "";

echo implode("<br />", $out);
$out=array();
(!empty($rows['description'])?$out[]=“Name:”.$rows['description']:”;
(!empty($rows['links')?$out[]=“Link:”;
(!empty($rows['category'])?$out[]=“category:”.$rows['category']:”;
(!empty($rows['qualification'])?$out[]=“qualification:”.$rows['qualification']:”;
(!empty($rows['start\u date'])?$out[]=“开始日期:”.$rows['start\u date']:”;
(!empty($rows['end\u date'])?$out[]=“end date:”.$rows['end\u date']:”;
(!empty($rows['entry\u frequency'])?$out[]=“entry frequency:”.$rows['entry\u frequency']:”;
(!empty($rows['prices'])?$out[]=“奖品:”。empty($rows['prices']:”;
(!空($rows['victory\u奖品])?$out[]=“胜利奖品:”.$rows['victory\u奖品]:”;
(!empty($rows['additional_comments'])?$out[]=“additional comments:”.$rows['additional_comments']:”;
回波内爆(“
”,$out);
只需检查值是否为空,如果不为空,则进行回显。您只需对不需要且可以为空的字段执行此操作,在您的情况下
$start\u date

echo "<p>Name: $description<br /> Link: <a href=$links>Click here</a> <br /> Category: $category<br /> Eligibility: $eligibility<br />";

echo !empty($start_date) ? "Start date:$start_date<br />" : "" ;

echo "End date: $end_date<br /> Entry frequency: $entry_frequency<br /> Prizes: $prizes<br /> Victory prizes: $victory_prizes<br /> Additional comments: $additional_comments<br />";
echo“Name:$description
链接:
类别:$Category:$Category
资格:$quality
”; echo!空($start_date)?“开始日期:$start_date
”:“; echo“结束日期:$End_date
参赛频率:$Entry_frequency
奖品:$奖品
胜利奖品:$Victory_奖品
附加评论:$Additional_评论
”;
只需检查值是否为空,如果不为空,则进行回显。您只需对不需要且可以为空的字段执行此操作,在您的情况下
$start\u date

echo "<p>Name: $description<br /> Link: <a href=$links>Click here</a> <br /> Category: $category<br /> Eligibility: $eligibility<br />";

echo !empty($start_date) ? "Start date:$start_date<br />" : "" ;

echo "End date: $end_date<br /> Entry frequency: $entry_frequency<br /> Prizes: $prizes<br /> Victory prizes: $victory_prizes<br /> Additional comments: $additional_comments<br />";
echo“Name:$description
链接:
类别:$Category:$Category
资格:$quality
”; echo!空($start_date)?“开始日期:$start_date
”:“; echo“结束日期:$End_date
参赛频率:$Entry_frequency
奖品:$奖品
胜利奖品:$Victory_奖品
附加评论:$Additional_评论
”;
嗨,汤姆,谢谢你的回复。我尝试了你的代码,问题是如果一个字段为空,整个表都不会显示。你能帮我看看吗?@firehellphelp你说你想要“开始日期”的标题如果该列为空,则隐藏。此答案告诉您如何将所有值包装在同一if中,但在代码中,您已将所有值包装在同一if中。仅包装要隐藏在if中的列。为什么要将所有内容附加到不同的
$out
-变量而不是相同的变量?嗨,Magnus,如果我不够清楚,请道歉。但是隐藏“开始日期”这只是一个例子。我想对它进行编码,如果任何项目没有值,那么我会隐藏该行。我已经修改了我的原始问题,以更好地反映这一点。因此,我认为我应该将所有内容都放在
if
中。我会尝试将所有内容更改为单个
$out
嗨,汤姆,谢谢你的回答。我试过了你的代码被删除了,问题是如果一个字段为空,整个表就不会显示。你能帮我看一下吗?@firehellphelp你说你想要“开始日期”的标题如果该列为空,则隐藏。此答案告诉您如何将所有值包装在同一if中,但在代码中,您已将所有值包装在同一if中。仅包装要隐藏在if中的列。为什么要将所有内容附加到不同的
$out
-变量而不是相同的变量?嗨,Magnus,如果我不够清楚,请道歉。但是隐藏“开始日期”这只是一个例子。我想对其进行编码,以便在任何项目没有值的情况下隐藏该行。我已修改了原始问题以更好地反映这一点。因此,我认为我应该将所有内容都放在
if
中。我会尝试将所有内容更改为单个
$out