首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP -使用值表单数据库填写选择框

PHP -使用值表单数据库填写选择框
EN

Stack Overflow用户
提问于 2012-10-18 16:27:03
回答 3查看 1.7K关注 0票数 0

我有一个表单的选择框和一个从数据库中的值,这是以前选择的。是的,我需要这个值,它是选择显示为最后选择的表单内。我试着用php dom,但什么也没用。

下面是html:

代码语言:javascript
运行
复制
<select name="conf_1">
     <option value="Y">Yes</option>
     <option value="N">No</option>
</select>
<select name="conf_2">
     <option value="text">text</option>
     <option value="alsotext">alsotext</option>
</select>

现在我想展示存储在数组中的所选选项,如下所示:

代码语言:javascript
运行
复制
$confs = array([1] => N, [2] => text );

做一些代码:

代码语言:javascript
运行
复制
loop{
   <option value="$confs[$i]">$confs[$i]</option> has to be appended to <select name="conf_$i">
}

现在我找不到这样做的方法了。我试过使用php dom,但我不知道如何通过名称属性选择元素,然后循环槽,所以我不能做一个真正的php示例。我只是不知道从哪里开始。

如果有人有办法做到这一点,请告诉我!?

使用受@Markus I:启发的代码:

代码语言:javascript
运行
复制
$dom = new DOMDocument();
    $dom->loadHTML($form);
    $xPath = new DOMXPath($dom);

    foreach ($dom->getElementsByTagName('select') as $select) {
        $name = $select->getAttribute('name');
        $name = str_replace('conf_', '', $name);

        foreach($xPath->query('./option', $select) as $option) {
            if ($option->getAttribute('value') == $confs[$name]) {
                $option->setAttribute('selected', 'selected');
            }
        }
    }

    $form = $dom->saveHTML($dom);

    echo $form;
EN

Stack Overflow用户

发布于 2012-10-18 16:39:40

像这样??

代码语言:javascript
运行
复制
$confs_arr = array("1" => N, "2" => text,"3" => N4, "4" => text3,"5" => N5,"6" => text7);
echo "<select name='option' id='option'>";
foreach($confs_arr as $keys=>$confs){

echo "<option value='".$confs."'>".$confs."</option>";

}
echo "</select>";
票数 2
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12950228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档