0

我还没有找到防止这种情况的解决方案。我正在使用 PHP 自行填充我的option字段,因此我不必手动将它们全部添加进去。我有四个select字段,四个字段中的三个工作完美,但第四个。

在公司字段上,它将填充一个空白字段,然后填充其余字段就好了。我有一个解决方案可以删除这个空间,但我被告知这不是最佳实践。有人认为他们知道实现这一目标的更好、更正确的方法吗?

PHP 选择字段

<label for="company">Company</label><br />
<select id="company" name="users" onChange="showUser(this.value)">
<?php include 'datalogin.php'; // Populates the Company select field

$result = mysqli_query($con, "SELECT DISTINCT Company FROM `roster` ORDER BY Company ASC;");
  echo '<option value="">' . 'Select a Company' .'</option>';
  while ($row = mysqli_fetch_array($result)) {
        if ($row['Company'] == NULL) { //The empty if is to remove the blank space in the select field

        }
        else {
            echo '<option value="'.urlencode($row['Company']).'">'.htmlspecialchars($row['Company'],ENT_QUOTES).'</option>';
        }
  }
?>
</select>

理想情况下,有人告诉我应该使用“!” 告诉 if 语句在它不为空但仍产生空格时回显:

if ($row['Company'] !== NULL) {
    echo '<option value="'.urlencode($row['Company']).'">'.htmlspecialchars($row['Company'],ENT_QUOTES).'</option>';
}

这就是我所说的空白区域:

(假设它是一个select字段)

[Select a field]
[              ]
[Cleveland     ]
[Columbus      ]
[Toldeo        ]

Live Agent 搜索网站

4

1 回答 1

3
SELECT DISTINCT Company 
FROM `roster` 
WHERE LENGTH(Company) > 0 
ORDER BY Company ASC;
于 2013-08-12T20:42:27.160 回答