Hi Attila, <% FOREACH ID IN Jobs.keys.sort %>
but multi-word lists do not appear exactly alphabetical as they do when MySQL sorts them by name. 2015-08-26 12:43 GMT-05:00 Attila Bárdi <[email protected]>: > Hey, > > I’m using hash and sorting it from the template toolkit. > I would advise to try it then later you can play with the speed. > > Best regards, > Attila > > > On 26 Aug 2015, at 19:39, Richard Reina <[email protected]> wrote: > > Andrew and Attilla, > > Thank you for the replies. I am guessing that keeping the sorting in the > SQL instead of the HTML would mean the page would load faster so I trying > to go that route. > > However, when I switch my code above to: > > <% FOREACH job in Jobs %> > <option value="<% job.ID %>"><% Job.NAME %></option> > <% END %> > > I get an empty dropdown. I am using $sth->fetchall_arrayref(); with no > arguments. Sorry to ask, but been playing with it for over an hour and > still have it figured it out. > > > 2015-08-26 9:04 GMT-05:00 Andrew Beverley <[email protected]>: > >> On Wed, 2015-08-26 at 08:51 -0500, Richard Reina wrote: >> > I have this table data that I load into a template as follows. >> > >> > $q = "SELECT ID, NAME >> > FROM jobs >> > ORDER BY NAME"; >> > $sth = $dbh->prepare($q); >> > $sth->execute(); >> > my $Jobs_ref = $sth->fetchall_hashref('ID'); >> >> use fetchall_arrayref() instead. >> >> > To display it in the template as a drop-down select I do: >> > >> > <select class="selectpicker" name="jobselect" id="jobselect" >> > style="width: 500px;"> >> > <% FOREACH ID IN Jobs.keys %> >> >> Here you just need something like >> >> FOREACH job in Jobs >> >> > <option value="<% Jobs.$ID.ID <http://id.id/> %>"><% Jobs.$ >> ID.NAME <http://id.name/> %></option> >> >> And then here use job.ID, job.NAME etc. >> >> > And it works great. Except for one thing, the list is not in order by >> name. >> > I have read more than a few posts about how once you save a query as a >> > hashref that the order is lost. >> >> Yes, in Perl arrays are ordered, hashes are not. If you want to retain >> order, you >> must use an array (or sort the hash before use, which is expensive). >> >> > Most of those posts suggested fetching as a >> > arrayref instead. However, I have no idea how to do that and then >> display >> > it in a select like the above code does. >> >> See above. >> >> >> _______________________________________________ >> dancer-users mailing list >> [email protected] >> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users >> > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > > > > _______________________________________________ > dancer-users mailing list > [email protected] > http://lists.preshweb.co.uk/mailman/listinfo/dancer-users > >
_______________________________________________ dancer-users mailing list [email protected] http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
