Schrift
[thread]12771[/thread]

Problem beim Verarbeiten von Array



<< >> 2 Einträge, 1 Seite
roooot
 2008-11-17 15:44
#116328 #116328
User since
2008-03-03
276 Artikel
BenutzerIn
[default_avatar]
Hallo Leute

ich habe ein Problem. Ich versuche das Ergebniss einer MySQL Abfrage in eine Form zu pressen mit der ich weiterarbeiten kann.

Die Daten kommen so aus der Datenbank an, nachdem sie meine MySQL Klasse formatiert hat:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[
{
type => 'foo',
date => '2008-12-23',
count => 1234
},
{
type => 'baz',
date => '2008-12-24',
count => 1234
},
{
type => 'bar',
date => '2008-12-23',
count => 1234
},
{
type => 'foo',
date => '2008-12-24',
count => 1234
},
{
type => 'bar',
date => '2008-12-24',
count => 1234
}
]


Nun wollte ich die ganze Sache nach dem Typ zusammenfassen, damit das dann so aussieht:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
foo     => [
{
date => '2008-12-23',
count => 1234
},
{
date => '2008-12-24',
count => 1234
}
],
bar => [
{
date => '2008-12-23',
count => 1234
},
{
date => '2008-12-24',
count => 1234
}
],
baz => [
{
date => '2008-12-24',
count => 1234
}
]



Ich habe versucht, das ganze über map zu machen, komme aber nicht weiter, weil ich nicht weiß wie ich auf das Array zugreifen kann.
Hier meine ersten Gehversuche:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
    my %data_hash = map { 
        my %tmphash = (
            count => $_->{'count'},
            date  => $_->{'date'}
        );
               
        $_->{'type'} => push($_->{'type'},\%tmphash);
        
    } @{$sql_output_ref};

Er sagt mir aber, dass er nicht in einen String pushen kann. Irgendwie ist mir das auch klar. Aber ich weiß eben nicht wie ich das beheben kann.


Kann mir jemand weiterhelfen? Danke schonmal!
Viele Grüße :)
renee
 2008-11-17 16:03
#116332 #116332
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
my %data_hash;
for my $element ( @array ){
    my $type = delete $element->{type};
    my %tmp = %$element;
    push @{ $data_hash{$type} }, \%tmp;
}
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
<< >> 2 Einträge, 1 Seite



View all threads created 2008-11-17 15:44.