我正在创建一个用户表单,该表单需要人们回来并在不同时间完成表单的功能,这需要它间歇性地保存其内容。问题是,如果用户提交了一些信息,请回来再提交一些信息,它会删除以前的内容。为了解决这个问题并提高可用性,我设置了表单来回调数据库中的内容,并在用户编辑内容之前将其插入到表单中。这对于textareas很有用,但对于下拉菜单等不太好。我已经查看了其他代码,它允许您为数据库中匹配的内容提供选定的状态。但是,与在数据库中具有下拉内容的所有其他示例不同,我的内容被硬编码到网站中,如下所示:
<div class="block-a">
<label>Likelihood</label>
<select class="large-input" name="questions['.$questions['id'].'][1]">
<option></option>
<option value="1">Negligible</option>
<option value="2">Low</option>
<option value="3">Medium</option>
<option value="4">High</option>
<option value="5">Very High</option>
<option value="N/A">Not Applicable</option>
</select>
</div>
所以说在下午1点,用户将可能性设置为“4”,然后在下午3点回来,它现在所做的全部回到空白,我希望它与数据库进行通信并看到“4”在数据库中然后将“高”设置为选定状态。
有谁知道怎么做?我一直试图没有成功。干杯
答案 0 :(得分:1)
回答你的问题 - 假设上面的列表是硬编码的,你想坚持下去......
<option <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>></option>
<option value="1" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 1) ? 'selected="selected"' : ''); ?>>Negligible</option>
<option value="2" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 2) ? 'selected="selected"' : ''); ?>>Low</option>
<option value="3" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 3) ? 'selected="selected"' : ''); ?>>Medium</option>
<option value="4" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 4) ? 'selected="selected"' : ''); ?>>High</option>
<option value="5" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == <?php echo (isset($var_which_holds_value) && $var_which_holds_value == '') ? 'selected="selected"' : ''); ?>) ? 'selected="selected"' : ''); ?>>Very High</option>
<option value="N/A" <?php echo (isset($var_which_holds_value) && $var_which_holds_value == 'N/A') ? 'selected="selected"' : ''); ?>>Not Applicable</option>
然而,有更好的方法(在代码可读性和管理方面)来实现这一目标。