On 27/09/15 12:48, Kadir Beyazlı wrote:
On Sat, Sep 26, 2015 at 10:49 PM, Dave Cross <[email protected]> wrote:
On 26/09/15 19:25, Kadir Beyazlı wrote:
Hi Dave,
On Sat, Sep 26, 2015 at 12:11 PM, Dave Cross <[email protected]
<mailto:[email protected]>> wrote:
>
>
> On 25/09/15 19:40, Richard Reina wrote:
>>
>> I display a hash reference in a template. It works well but is there a
>> way I can sort it by SNAME instead of ID?
>>
>> <ul class="list-group fancy-list-items"> <!-- <ul
>> class="list-group checked-list-box"> -->
>> <table style="width:100%">
>> <% FOREACH ID IN Pats.keys.sort %>
>> <tr class="list-group-item">
>> <td width="70"><% Pats.$ID.SNAME %></td>
>> <td width="75"><% Pats.$ID.ANAME %></td>
>> <td width="35"><% Pats.$ID.SSN %></td>
>> <td width="35"><% Pats.$ID.YR %></td>
>> <td width="250"><% Pats.$ID.CHNAME %></td>
>> <td width="550"><% Pats.$ID.DESCRIP %></td>
>> <% END %>
>> </tr>
>> </ul>
>> </table>
>
>
> It looks like you have a hash of hashes. Is that correct?
>
> Anyway, you can pass "sort" the name of the key that you want sort on.
[KB] This is a very common problem asked previously and no solution
found. It was advised to use array ref instead of hashref at previous
mails. Now I tried your offer and see that it does not work. Values are
unordered again.
Damn, yes. There were a couple of typos in my solution. I didn't have time to
test it. Sorry about that.
Of course, I can't be sure until I know what your data structure really looks
like,
[KB] The data Richard mentioned is a classic fetchall_hashref data as below:
$Pats = {ID => { SNAME => Value,
CHNAME => Value,
ANAME => Value,
},
ID => { SNAME => Value,
CHNAME => Value,
ANAME => Value,
},
ID => { SNAME => Value,
CHNAME => Value,
ANAME => Value,
}
}
ID is key of other attributtes. He asks if it id possible to sort by
SNAME at above structure.
I am using arrayref but this is common questin asked by beginners and
no solution found
My second solution (shown below) works fine in this situation.
Dave...
but this demonstrates a solution for the data structure that seems to make most
sense.
[% Pats = {
id1 => {
ID => 'id1',
SNAME => 'ZZZ',
ANAME => 'aname1',
},
id2 => {
ID => 'id2',
SNAME => 'XXX',
ANAME => 'aname2',
},
id3 => {
ID => 'id3',
SNAME => 'YYY',
ANAME => 'aname3',
}
} -%]
Original:
[% FOREACH id IN Pats.keys.sort -%]
[% id %] / [% Pats.$id.SNAME %] / [% Pats.$id.ANAME %]
[% END -%]
New:
[% FOREACH Pat IN Pats.values.sort('SNAME') -%]
[% Pat.ID %] / [% Pat.SNAME %] / [% Pat.ANAME %]
[% END -%]
Cheers,
Dave...
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
--
Dave Cross :: [email protected]
http://dave.org.uk/
@davorg
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users