背景
我有一个for
循环为 html 表单创建输入表:
for ($i = 1; $i <= $x; $i++) {
echo '<select name="waldo_'.$i.'" id="waldo_'.$i.'">
<option value="">...</option>
<option value="foo">Foo</option>
<option value="bar">Bar</option>
</select>
<label for="foo_'.$i.'">Foo '.$i.'</label>
<input id="foo_'.$i.'" type="text" value="" name="foo_'.$i.'">
<label for="bar_'.$i.'">Bar '.$i.'</label>
<input id="bar_'.$i.'" type="text" value="" name="bar_'.$i.'">';
}
在提交时,这会填充一个数据库。
问题
每个提交都需要是可编辑的。当我返回表单(作为管理员)时,我需要查看特定用户存储在数据库中的所有内容。
for ($i = 1; $i <= $x; $i++) {
echo '<select name="waldo_'.$i.'" id="waldo_'.$i.'">
<option value="">...</option>
<option value="foo"';
if($row['waldo_'.$i] == "foo") echo " selected='selected'";
echo '>Foo</option>
<option value="bar"';
if($row['waldo_'.$i] == "bar") echo " selected='selected'";
echo '>Bar</option>
</select>
<label for="foo_'.$i.'">Foo '.$i.'</label>
<input id="foo_'.$i.'" type="text" value="'./*...*/.'" name="foo_'.$i.'">
<label for="bar_'.$i.'">Bar '.$i.'</label>
<input id="bar_'.$i.'" type="text" value="'./*...*/.'" name="bar_'.$i.'">';
}
我select
正确地“选择”了正确的选项,但我似乎无法以类似的方式填充文本输入值。
不知何故,我需要, , , ...,echo
中的内容。$foo_1
$foo_2
$foo_3
$foo_x
我尝试过使用$foo_.$i
,但这似乎不起作用。
这个问题有简单的解决方案吗?还是有更好的方法来格式化所有内容?