RE: populate form input option dropdown box from existing data

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Yeah, I used to write that way but found I and others in the team saved a
lot more time troubleshooting and extending the code when returning 6 months
later if it was more verbose. Horses for courses, I guess.

Also, the selected attribute should be selected='selected' to validate
correctly as xhtml. By the same token, looking back at my example, I notice
the multiple attribute of the select should be multiple='multiple' -
apologies for missing that the first time =o)
 

> -----Original Message-----
> From: jenai tomaka [mailto:gargarinbr@xxxxxxxxxxx]
> Sent: 16 June 2009 15:56
> To: me@xxxxxxxxxxx; af.gourmet@xxxxxxxxxxxx; php-general@xxxxxxxxxxxxx
> Subject: RE:  populate form input option dropdown box from existing
> data
> 
> 
> You can try like this,
> 
> $row = stored data;
> 
> and write the options like this
> <option value="id" (id == $row ? "selected" : "") >xxxx</option>
> 
> 
> Yuri Yarlei.
> 
> 
> 
> 
> > From: me@xxxxxxxxxxx
> > To: af.gourmet@xxxxxxxxxxxx; php-general@xxxxxxxxxxxxx
> > Date: Tue, 16 Jun 2009 09:33:49 +0100
> > Subject: RE:  populate form input option dropdown box from existing
> data
> >
> >
> > > -----Original Message-----
> > > From: PJ [mailto:af.gourmet@xxxxxxxxxxxx]
> > > Sent: 15 June 2009 23:10
> > > To: php-general@xxxxxxxxxxxxx
> > > Subject:  populate form input option dropdown box from existing
> data
> > >
> > > I am having difficulties figuring out how enter retrieved data into a
> > > dropdown box for editing. Here's a snippet:
> > > ...snip
> > > <select name="categoriesIN[]" multiple size="8">
> > >         <option value="1">Civilization</option>
> > >         <option value="2">Monuments, Temples &amp; Tombs</option>
> > >         <option value="3">Pharaohs and Queens</option>... snip
> > >
> > > As I understand it, I need to put an array ( $categoriesIN[] )
> somewhere
> > > in the above code... or do I need to insert a series of value
> "selected"
> > > fields for the values?
> > > The closest thing to what I need, seems to be in this post:
> > > http://www.hpfreaks.com/forums/index.php?topic=165215
> > > But it doesn't appear too inviting... not sure if they ever got it to
> > > work...
> > >
> >
> > Hi,
> >
> > Something like this should work for you
> >
> > <?php
> >   // Set up initial values
> >   // This could be hard-coded or brought in from DB or other source
> >   $categoriesIN_options = array(1 => 'Civilzation',
> > 					  2 => 'Monuments, Temples &amp;
> > Tombs',
> > 					  3 => 'Pharaohs and Queens',
> > 					  );
> >   // Create a holder for values posted if you want
> >   // to repopulate the form on submission
> >   $selected_clean	= array();
> >   // Check for passed values and validate
> >   if (array_key_exists('categoriesIN',$_REQUEST)) {
> >     // Prevents errors with the foreach
> >     $passed_categoriesIN = (array)$_POST['categoriesIN'];
> >     foreach ($passed_categoriesIN as $options_key) {
> >       // If the value isn't in our pre-defined array, handle the error
> >       if (!array_key_exists($options_key,$categoriesIN_options)) {
> >         // Handle error
> >         continue;
> >       }
> >       $selected_clean[] = $options_key;
> >     }
> >   }
> > ?>
> > [snip]
> > <select name='categoriesIN' multiple size='8'>
> >   <?php // Loop over the options set above
> >     foreach ($categoriesIN_options as $key => $value) {
> >       echo "<option value='{$key}'";
> >       // Repopulate with selected
> >       if (in_array($key,$selected_clean)) {
> >         echo " selected='selected'";
> >       }
> >       echo ">{$value}</option>\n";
> >     }
> >   ?>
> > </select>
> >
> >
> > --
> >
> > for (thoughts, ramblings && doodles) {
> >   goto http://dajve.co.uk ;
> > }
> >
> >
> > --
> > PHP General Mailing List (http://www.php.net/)
> > To unsubscribe, visit: http://www.php.net/unsub.php
> >
> 
> _________________________________________________________________
> Conheça os novos produtos Windows Live! Clique aqui.
> http://www.windowslive.com.br


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux