Thread Daten speichern in best. Datenstruktur: Aber wie? (19 answers)
Opened by Kalmuecke at 2007-01-26 12:36

bloonix
 2007-01-27 16:05
#73721 #73721
User since
2005-12-17
1615 Artikel
HausmeisterIn
[Homepage]
user image
Was spricht gegen eine Datenbank?

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
CREATE DATABASE Kalmuecke;
use Kalmuecke;
GRANT ALL PRIVILEGES ON Kalmuecke.* TO 'Kalmuecke'@'localhost' IDENTIFIED BY 'passwort';

CREATE TABLE kunden (
  kunde VARCHAR(255) NOT NULL,
  datensatz VARCHAR(255) NOT NULL,
  INDEX kunde_idx(kunde)
) TYPE=InnoDB;

INSERT INTO kunden values ('Meyer', 'DatensatzA 1');
INSERT INTO kunden values ('Meyer', 'DatensatzA 2');
INSERT INTO kunden values ('Meyer', 'DatensatzA 3');
INSERT INTO kunden values ('Meyer', 'DatensatzA 4');
INSERT INTO kunden values ('Meyer', 'DatensatzA 5');
INSERT INTO kunden values ('Meyer', 'DatensatzA 6');
INSERT INTO kunden values ('Müller', 'DatensatzB 1');
INSERT INTO kunden values ('Müller', 'DatensatzB 2');
INSERT INTO kunden values ('Müller', 'DatensatzB 3');
INSERT INTO kunden values ('Schulze', 'DatensatzC 1');
INSERT INTO kunden values ('Schulze', 'DatensatzC 2');
INSERT INTO kunden values ('Schulze', 'DatensatzC 3');
INSERT INTO kunden values ('Schulze', 'DatensatzC 4');
INSERT INTO kunden values ('Schulze', 'DatensatzC 5');
INSERT INTO kunden values ('Schulze', 'DatensatzC 6');
INSERT INTO kunden values ('Schulze', 'DatensatzC 7');


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
28
29
30
31
32
33
34
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
use DBI;

my %db = (
  name => 'Kalmuecke',
  user => 'Kalmuecke',
  pass => 'passwort',
  host => 'localhost',
  port => 3306,
  type => 'mysql',
);

my $kunde  = $ARGV[0] || die "Usage: $0 <kunde>\n";
my $select = "select datensatz from kunden where kunde = '$kunde'";

my $con = "DBI:$db{type}:database=$db{name};host=$db{host};port=$db{port}";
my $dbh = DBI->connect($con, $db{user}, $db{pass}) or die DBI->errstr;
my $sth = $dbh->prepare($select) or die $dbh->errstr;

$sth->execute() or die $sth->errstr;

my %kunden;

while (my $msg = $sth->fetchrow_hashref) {
  push @{$kunden{$kunde}}, $msg->{datensatz};
}

$sth->finish or die $sth->errstr;
$dbh->disconnect or die $dbh->errstr;

print Dumper(\%kunden);


~> ./zeige-kunde Schulze
$VAR1 = {
         'Schulze' => [
                        'DatensatzC 1',
                        'DatensatzC 2',
                        'DatensatzC 3',
                        'DatensatzC 4',
                        'DatensatzC 5',
                        'DatensatzC 6',
                        'DatensatzC 7'
                      ]
       };
What is a good module? That's hard to say.
What is good code? That's also hard to say.
One man's Thing of Beauty is another's man's Evil Hack.

View full thread Daten speichern in best. Datenstruktur: Aber wie?