결과를 countryid로 그룹화하려면 아래 데이터를 사용하고 싶습니다.perl 그룹이 fetchrow_hashref를 사용하여 해시 결과를 나타냅니다.
my @test =();
my $st = qq[
SELECT id,countryID,abbrev
FROM myTable
];
my $q = $data->prepare($st);
$q->execute() or query_error($st);
while (my $result = $q->fetchrow_hashref) {
push @test, $result;
}
나는 아무 문제가
use Data::Dumper;
print STDERR Dumper(\@test);
반환
$VAR1 = [
{ 'id' => '1',
'countryID' => '1',
'title' => 'Title 1',
'abbrev' => 't1'
},
{ 'id' => '2',
'countryID' => '2',
'title' => 'Title 2',
'abbrev' => 't2'
},
{ 'id' => '3',
'countryID' => '3',
'title' => 'Title 3',
'abbrev' => 't3'
},
{ 'id' => '4',
'countryID' => '1',
'title' => 'Title 4',
'abbrev' => 't4'
}
];
아래 그림과 같이 내가 국가 그룹에 원하는 결과를 displayling 없었다 fetchrow_hashref 사용.
$VAR1 = [
'countries' => {
'1' => [
{ 'id' => '1',
'title' => 'Title 1',
'abbrev' => 't1'
},
{ 'id' => '4',
'title' => 'Title 4',
'abbrev' => 't4'
}
],
'2' => [
{ 'id' => '2',
'title' => 'Title 2',
'abbrev' => 't2'
}
],
'3' => [
{ 'id' => '3',
'title' => 'Title 3',
'abbrev' => 't3'
}
]
}
];
어떻게 이것을 while 루프에서 사용할 수 있습니까?
당신의 대답은 좋다,하지만 난 작은 말을 만들 것 %의 $의 test2''채우기 외에도, 코드를하지 않습니다 실수로'@ test'를 휴지통에 버렸을까요? 그렇다면 괜찮을 수도 있지만, 아마도 지적해야합니다. – thb
피드백에 감사드립니다. 답변에 귀하의 의견을 추가하고 문제를 피하기위한 대안을 제안했습니다. –