我还没有找到防止这种情况的解决方案。我使用PHP来自我填充我的option
字段,所以我不必手动将它们全部添加进去。我有四个select
字段,四个中有三个完美但第四个。< / p>
在公司字段上,它将填充一个空白字段,然后填充其余字段就好了。我有一个解决方案,这将删除这个空间,但我被告知这不是最好的做法。有人认为他们知道一种更好,更正确的方法吗?
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语句如果它不为null但仍然产生空格:
if ($row['Company'] !== NULL) {
echo '<option value="'.urlencode($row['Company']).'">'.htmlspecialchars($row['Company'],ENT_QUOTES).'</option>';
}
这就是我所说的空白区域:
(假装它是select
字段)
[Select a field]
[ ]
[Cleveland ]
[Columbus ]
[Toldeo ]
答案 0 :(得分:3)
SELECT DISTINCT Company
FROM `roster`
WHERE LENGTH(Company) > 0
ORDER BY Company ASC;