Php 如何不显示空行?

Php 如何不显示空行?,php,html,mysqli,Php,Html,Mysqli,我的问题是: 如果你看看它会显示在哪里“ 1ST " 如何确保如果行与变量“$first”关联,或者如果其他所有行都为空,则不会显示任何内容。“1号”也没有显示 我尝试过各种各样的东西,但我在这个问题上遇到了困难 放映日期: 那么这个呢: if(mysqli_num_rows($result) > 0){ while($row = mysqli_fetch_assoc($result)){ // Show the table-row } } 您做

我的问题是:

如果你看看它会显示在哪里“

1ST
"

如何确保如果行与变量“$first”关联,或者如果其他所有行都为空,则不会显示任何内容。“1号”也没有显示

我尝试过各种各样的东西,但我在这个问题上遇到了困难


放映日期:


那么这个呢:

if(mysqli_num_rows($result) > 0){
    while($row = mysqli_fetch_assoc($result)){
        // Show the table-row
    }
}

您做得很好,只需对收到的每一行应用一个筛选函数:

// SO UPDATE THE QUERY TO ONLY PULL THAT SHOW'S DOGS
$query = "SELECT * FROM result
WHERE first IS NOT NULL";

$result = mysqli_query($connection, $query);

if (!$result) {

    trigger_error("Query Failed! SQL: $query - Error: ". mysqli_error($connection), E_USER_ERROR);

} else {

    // Fetch results into array
    $data = mysqli_fetch_all($result, MYSQLI_ASSOC);

    // If results array is not empty
    if ($data) {


        echo '<table class="table" border="0"></div>
        <tr>
          <td>
            <strong><?php echo $class_name ?></strong> - <h6>Entries: <?php echo $entries ?> Absentees: <?php echo $absentee ?></h6>
          </td>
          <td></td>
        </tr>';

        // Now let's walk through every record
        array_walk($data, function($dogRecord) {

            // Here we apply array_filter to each dog record, so that empty values (i.e. those evaluating to false) are filtered out
            $dogRecord = array_filter($dogRecord);


            // Now loop throw $dogRecord to build table

            $collation = [
                'DCC' => 'DCC',
                'RDCC' => 'RDCC',
                'BCC' => 'BCC',
                'RBCC' => 'RBCC',
                'BOB' => 'BOB',
                'BP' => 'BOB',
                'BJ' => 'BOB',
                '1ST' => 'first',
                '2ND' => 'second',
                '3RD' => 'third',
                'RES' => 'RES',
                'VHC' => 'RES'
            ];

            foreach ($dogRecord as $property => $value) {

                echo '<tr>
                    <td>'.$collation[$property].'</td>
                    <td>'.$value.'</td>
                </tr>';

            }

        });


        echo '</table>';
    }

}
//所以更新查询,只拉那个节目的狗
$query=“从结果中选择*
其中第一个不为空”;
$result=mysqli\u查询($connection,$query);
如果(!$result){
trigger_error(“查询失败!SQL:$Query-error:.mysqli_error($connection),E_USER_error”);
}否则{
//将结果提取到数组中
$data=mysqli\u fetch\u all($result,mysqli\u ASSOC);
//如果结果数组不为空
如果($数据){
回声'
-条目:缺席人员:
';
//现在让我们浏览每一张唱片
数组_walk($data,function($dogRecord){
//在这里,我们对每个dog记录应用array_filter,以便过滤掉空值(即那些计算为false的值)
$dogRecord=数组过滤器($dogRecord);
//现在循环抛出$dogRecord来构建表
$collation=[
“DCC”=>“DCC”,
“RDCC”=>“RDCC”,
“密件抄送”=>“密件抄送”,
“RBCC”=>“RBCC”,
'鲍勃'=>'鲍勃',
“BP”=>“BOB”,
“BJ”=>“BOB”,
“第一”=>“第一”,
“第二”=>“第二”,
“第三”=>“第三”,
'RES'=>'RES',
“VHC”=>“RES”
];
foreach($dogRecord作为$property=>$value){
回声'
“.$collation[$property]”
“.$value。”
';
}
});
回声';
}
}

请注意,我使用的不是简单的
foreach
循环,而是
array\u walk
函数。这是因为,由于您为每个记录提取变量,因此每次都需要未声明(即未占用)的变量。

以下代码将迭代结果中的每一行(while循环)和每一行(foreach循环)中的每一个key=>值;然后,它将检查值是否不为null或键是否不等于“first”(if语句),并在table元素中回显结果。我不确定我是否完全理解你的问题,但我希望这在某种程度上有所帮助

<table>
<?php
if($result){
while($row = mysqli_fetch_assoc($result))
    foreach($row as $key => $value){
        if($value != null && $key != 'first'){
            echo '<tr>';
            echo '<td>' . $key . '</td>';
            echo '<td>' . $value . '</td>';
            echo '</tr>';
        }
    }
}
?>
</table>


(pseudo'ish):
如果(行为空){…}
或三元运算符。当它们为空时,不会显示任何内容。还是要删除整个html表行?然后,您需要在每个条件周围添加条件。为什么要将数组复制到不同的变量?你也可以使用下面的数组。@jeroen也许他们会对给出的答案做出反应;我得走了,你不能再清楚一点吗?如果行的所有值都是空的,或者只有一个值是空的,那么您不想显示该行吗?我不认为这是问题所在;请重新阅读。基本上,如果该行为空,则不会显示第1行或第2行,否则将导致堆栈溢出!虽然这个代码片段可以解决这个问题,但它没有解释为什么或者如何回答这个问题。请,因为这确实有助于提高你的文章质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。标记者/审阅者:
<table>
<?php
if($result){
while($row = mysqli_fetch_assoc($result))
    foreach($row as $key => $value){
        if($value != null && $key != 'first'){
            echo '<tr>';
            echo '<td>' . $key . '</td>';
            echo '<td>' . $value . '</td>';
            echo '</tr>';
        }
    }
}
?>
</table>