问题描述
我的程序从一张桌子上列出了一个老师的名单。 然后我想在下拉列表中显示名称,但由于某种原因,它打开一个空下拉列表,其中包含空行数,如表中的记录。 这是我解决这个问题的代码
<div>
<label for="teacher_name"> שם המורה: </label>
<select name="teacher_name" id="teacher_name">
<?PHP if (empty($teachers)): ?>
<p> No teachers found</p>
<?PHP else: ?>
<?PHP if($status == 'new'): ?>
<option value="please_select">נא לבחור</option>
<?PHP foreach ($teachers as $teacher): ?>
<option value=<?=$teacher['teacher_name']; ?> name="teacher_name" id="teacher_name"></option>
<?PHP endforeach; ?>
<?PHP endif; ?>
<?PHP if($status == 'edit'): ?>
<p> edit</p>
<input type="text" name="teacher_name" id="teacher_name" value="<?= htmlspecialchars($lesson->teacher_name); ?>" >
<?PHP endif; ?>
<?PHP endif; ?>
</select>
</div>
解决方法
如果您“查看源代码”输出,我想您会看到选项标签中确实有数据 - 但您尚未设置要显示的值,它应该更像是 <option ....>Show this in the list</option>
。
试试这个(与您使用的代码相同,但在将显示的地方再次添加教师姓名变量)
<option value=<?=$teacher['teacher_name']; ?> name="teacher_name" id="teacher_name"><?=$teacher['teacher_name']; ?></option>