Thread DB auslesen mit DBI dynamisch und richtige Reihenfolge (5 answers)
Opened by Gustl at 2012-05-16 11:26

topeg
 2012-05-16 11:47
#158384 #158384
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Außer ein "Order" hinzuzufügen fällt mir keine Lösung ein.
Etwa so:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sub get_orderdarray{
  my ($statement, $order, @param) = @_;  
  
  my $sth = $dbh->prepare($statement);
  $sth->execute(@param) or die failLog( $dbh->errstr );
  my @erg;
  while (my $zeile = $sth->fetchrow_hashyref())
  {
    my @ret;
    push(@ret,[$_,$zeile->{$_}]) for(@$order);
    push(@erg,\@ret);
  }
  $sth->finish;
  return @erg; 
}

Aufruf:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
my @table = WebDB::get_hasharray(
        "SELECT * FROM FCT_WT_SPUREN ORDER BY BE_IDENT",
        [qw(
           FACH
           STELLPLATZ_IDENT
           EBENE
           STATIONS_IDENT
           BE_IDENT
           SPUR
         )]
       );


Das Ergebis wäre ein Dreidimensionales AoA:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@table = 
(
[
['FACH',1],
['STELLPLATZ_IDENT',1],
['EBENE',1],
['STATIONS_IDENT',1],
['BE_IDENT',1],
['SPUR',1],
],
[
['FACH',2],
['STELLPLATZ_IDENT',2],
['EBENE',2],
['STATIONS_IDENT',2],
['BE_IDENT',2],
['SPUR',2],
],
...
)


Mir fällt keine Möglichkeit ein das Direkt über DBI-Funktionen zu realisieren.

View full thread DB auslesen mit DBI dynamisch und richtige Reihenfolge