[dancer-users] Getting Value of nested hash attributes -- HASH confusion

Richard Reina gatorreina at gmail.com
Mon Aug 31 22:37:21 BST 2015


I have to following template that lists table data with a checkbox to the
left and a text area to the right -- special thanks to Andrew for helping
me figure out the HTML.

The data comes from:

    my $q = "SELECT c.ID AS ID, u.screenname AS SNAME, a.name AS ANAME,
a.descrip AS DESCRIP,
                c.season AS SSN, c.year AS YR, ch.name AS CHNAME
                FROM challenge c, accomp_type a, usuario u, jugador j,
charity ch
                WHERE c.ACC_TYPE_ID=a.ID
                AND ch.ID=c.CHAR_ID
                AND c.PLR_ID=j.ID
                AND j.USER_ID=u.ID";
my $Chlngs = $dbh->selectall_hashref( $q, 'ID' );

<div class="container" style="margin-top:20px;">
  <div class="row">
    <div class="col-xs-12">
          <form role="form" action="openchallenges" method="POST">
            <h3 class="text-center">Open To Do</h3>
            <div class="well" style="max-height: 300px;overflow: auto;">
                <ul class="list-group fancy-list-items">    <!-- <ul
class="list-group checked-list-box"> -->
             <table style="width:100%">
                <% FOREACH ID IN Chlngs.keys.sort %>
                <tr class="list-group-item">
                 <td width="5"> <input type="checkbox" name="<% Chlngs.$
ID.NAME %>"</input> </td>
                  <td width="70"><% Chlngs.$ID.SNAME %></td>
                  <td width="75"><% Chlngs.$ID.ANAME %></td>
                  <td width="35"><% Chlngs.$ID.SSN %></td>
                  <td width="35"><% Chlngs.$ID.YR %></td>
                  <td width="250"><% Chlngs.$ID.CHNAME %></td>
                  <td width="550"><% Chlngs.$ID.DESCRIP %></td>
                  <td><input type="text" name="<% Chlngs.$ID.ID %>"
size="8" </td>
                  <% END %>
                </tr>
            </ul>
        </table>
        </div>
    <hr class="colorgraph">
    <div class="row">
    <div class="col-xs-12 col-md-12"><input type="submit" value="Submit"
class="btn btn-primary btn-block btn-lg"></div>
    </form>
    </div>
  </div>
</div>

However, after getting the template to work I am once again stumped in how
to capture the value of the dynamically named hash ref -- specifically the
second one from the text box. I have tried various permutations below --
some of which were very graciously provided to me in an earlier similar
thread -- but all seem to only give me either a hash reference, the value
of ID or this error when I place the number 7 into the text field: Can't
use string ("7") as a HASH ref while "strict refs" in use at
/home/richard/Dancer2/MyApp/bin/../lib/MyApp.pm line 463.


my $input_hash;

    foreach my $key ( keys %$Chlngs ) {
      print "Checking Chlgs: " . $key . " for value.\n";
      if ( param( $key ) ) { # paramter has value
          #$input_hash->{ $key } = $Chlngs->{ $key };
          $input_hash->{ $key } = param( $key );
          #print $key, $input_hash->{ $key }, "\n";
          #print %{ $input_hash->{1} };
          print $input_hash->{1}{ID}, "\n";
              # $sth->execute($PLR_ID, $key, $input_hash->{Season},
$input_hash->{Year}, $input_hash->{CharID});

      }
      }

Thanks for any help.

Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20150831/379c9025/attachment.html>


More information about the dancer-users mailing list