PHP。如果字段为空 - 删除行

时间:2017-07-22 14:45:40

标签: php arrays

目前我使用以下内容: 我从mysql中做出选择并生成一个xml文件:

    while($r = mysqli_fetch_array($sql)){

      $xml .= "<Name>".$r['name']."</Name>";
      $xml .= "<Telephone>".$r['work']."</Telephone>";
    }

在正常情况下,我得到了这个

<Name>Name Surname</Name>
<Telephone>111</Telephone>

但是如果未填写数字字段,则会在生成的文件中收到它:

<Name>Name Surname</Name>
<Telephone></Telephone>

如果电话号码的字段为空,如何删除整个块(名称和电话)?

1 个答案:

答案 0 :(得分:1)

当字段为空时,不向$xml添加任何内容:

while($r = mysqli_fetch_array($sql)){
    if (!empty($r['work'])) {
      $xml .= "<Name>".$r['name']."</Name>";
      $xml .= "<Telephone>".$r['work']."</Telephone>";
    }
}

甚至修改你的sql-query以只选择work字段不为空的值:

SELECT field1, field2, field3
FROM `some_table`
WHERE `work` <> ''

在这种情况下,您可以保留您的php代码。