Html组合框到数据库记录Id

时间:2010-05-17 12:29:42

标签: php javascript html combobox webforms

我很确定我的问题必须有一个简单的解决方案,但我是一个新的网络开发人员并且无法弄明白。

在我的页面上,我有一个组合框,其值从我的数据库中填充。当用户提交表单时,如何将这些值转换回数据库中的记录号?

到目前为止,我一直在我的数据库中进行一种反向查找,试图获取记录的ID。这有很多明显的缺陷,我相信必须有更好的方法。我习惯于MS Forms组合框,其中记录数据和ID永远不会分开。但是对于Web表单,我无法像以前那样在组合框中执行多个列。

谢谢! 杰夫

2 个答案:

答案 0 :(得分:2)

用于呈现option中的选项的select元素同时具有名称和值属性 -

<option value="23434">Name of item with id 23434</option>

在这种情况下,它将发布到服务器的值,因此您无需进行反向查找以从名称中获取ID。

答案 1 :(得分:0)

一个通用函数,用于从sql结果或其他任何数组构建select选项。

<?php
function buildOptions( $options, $value, $label ){

    foreach ( $options as $option ):    
    echo '<option value="'.$option[ $value ].'">'.$option[ $label ].'</option>'."\n";
    endforeach;
}
?>

...使用

<select name="dropdown">
<?php
    $arr = array(
       array( 'id'=>1, 'name'=>'item 1'),
        array( 'id'=>2, 'name'=>'item 2'),
        array( 'id'=>3, 'name'=>'item 3'),
        array( 'id'=>4, 'name'=>'item 4')
      );

    buildOptions( $arr, 'id', 'name' ); 
?>
</select>