开发者

Html combo box to database record Id

I'm fairly sure there has to be a simple solution to my problem, but I am a new web developer and can't quite figure it out.

On my page I have a combo box whose values are filled from my database. When the user submits the form, how to I go about converting those values back to the record numbers in the database?

Up to now I have been just doing a sort of reversed lookup in my database to try to get the record's ID. This has quite a few obvious flaws and I am sure that there has to be a better way. I am used to MS Forms combo boxes where the record data and ID are never separated. But in the case of a web form, I have no way to d开发者_C百科o multiple columns in the combo box like I am used to.

Thanks! Jeff


The option element that is used to render the options in a select has both a name and a value property -

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

In this case its the value that will be posted to the server and so you don't need to do a reverse lookup to get the id from the name.


a generic function to build select options from an array of sql results or whatever.

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

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

usage...

<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>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜