Thread MySQL Tabelle einlesen & ausgeben (9 answers)
Opened by kimmy at 2011-02-08 16:00

renee
 2011-02-08 16:17
#145476 #145476
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
ungetestet:

Code (perl): (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
# hole alles aus der Datenbank
my $search = $dbh->prepare("SELECT * FROM tblimport");
$search->execute;

my %new;

# hole jede Zeile als Hashreferenz, damit ueber den Namen zugegriffen werden kann
while ( my %set = $search->fetchrow_hashref ) {

    my $key = $set->{New}; # hole das, was in der Spalte "New" steht

    # schiebe das aus der Spalte "Old" in ein Array
    push @{ $new{$key}->{strings} }, $set->{Old};

    # addiere die Länge
    $new{$key}->{length} += $set->{Length};
}

# gib alles aus
for my $key ( keys %new ) {
    my $all_strings = join " ", @{ $new{$key}->{strings} };
    my $length      = $new{$key}->{length};
    print "$key\t$all_strings\t$length\n";
}


Edit:

Das ganze hat mit Referenzen zu tun. Wenn Du damit noch nichts zu tun hattest, sollstest Du Dir perlreftut anschauen.

Edit 2:

Die perlreftut im Wiki scheint es nicht mehr zu geben
Last edited: 2011-02-08 16:20:52 +0100 (CET)
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/

View full thread MySQL Tabelle einlesen & ausgeben