beginr has asked for the wisdom of the Perl Monks concerning the following question:

I am generating as many the drop downs as the now of rows return by the query. ie. i have to display 2 drop downs with same set of options if query returns 2 rows. I am able o create this as follows.

$dbh = DBI->connect('DBI:Pg:dbname=test', 'db_user', ''); $sth=$dbh->prepare ($sql); $sth->execute(); $ind=0; while(my @options=$sth->fetchrow_array()){ if ($selected eq $options[0]){ print "<option id=value=$options[0] selected=$options[0]>$options +[0]</option>"; } else { print "<option value=$options[0] >$options[0]</option>"; } };

My problem here is i have to read the new values of the combo and update the table accordingly.

Can any one help me to do this?

Code tags added by GrandFather

Replies are listed 'Best First'.
Re: reading values from the more than one combo box with same name
by grep (Monsignor) on Sep 12, 2006 at 04:29 UTC
    Whenever I need to do somthing like this I create indexed elements and process from there (I'm assuming you don't want multi-select drop down since you are presenting the same set of options twice) .

    Example HTML

    <input type="hidden" name="num_of_options" value="2"> <select name="select1"> <option name="foo">Foo</option> <option name="bar">Bar</option> </select> <select name="select2"> <option name="foo">Foo</option> <option name="bar">Bar</option> </select>
    This makes reading the values from CGI, trival and can be set up easily with a template.


    grep
    Mynd you, mønk bites Kan be pretti nasti...