使用MYSQLI查询填充下拉列表出现空白选项问题排查
解决下拉选择框出现空白选项的问题
问题根源是option标签的闭合错误:你在输出选项时,把结束标签写成了<option>而不是</option>,浏览器会自动补全未闭合的标签,导致每个有效选项后生成一个空的option。
修正后的PHP代码
<?php echo '<select class="form-control">'; $query= "SELECT * FROM categories"; $select_all_categories_queries=mysqli_query($connection,$query); while ($row = mysqli_fetch_assoc($select_all_categories_queries)) { $cat_title = $row['cat_title']; if (!empty($cat_title)){ echo "<option>{$cat_title}</option>"; } } echo '</select>'; ?>
问题解释
原代码中echo "<option>{$cat_title}<option>";这一行,第二个<option>是错误的,应该是</option>。浏览器在解析HTML时,遇到未闭合的<option>标签,会自动为其添加闭合标签,同时把多余的<option>解析成新的空选项,这就是你看到每个分类后出现空白选项的原因。
另外,从你的数据库查询结果来看,所有cat_title都不为空,所以那个if (!empty($cat_title))的判断可以保留,也可以根据实际情况移除。
内容的提问来源于stack exchange,提问作者Naz Shah
相关产品推荐
相关产品推荐

