Thread Suchfunktion in .csv Dateien (27 answers)
Opened by Del Piero at 2007-06-19 01:29

Del Piero
 2007-06-19 19:20
#10044 #10044
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
also würde das ganze auf das beispiel oben bezogen so aussehen oder?:

Code
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!/usr/bin/perl

# strict und warnings sollten in
# jedem Programm Pflicht sein
use strict;
use warnings;

# lade DBI für die Datenbankverbindung
use DBI;

# Ordner, in dem die CSV-Datei liegt
my $dir = '/var/www/html/cgi-bin';

# Trennzeichen in der Datei (hier: das Semikolon)
my $sep = ';';

# Verwende DBI mit DBD::CSV, damit mit den
# CSV-Dateien gearbeitet werden kann
my $dsn = "DBI:CSV:f_dir=$dir;csv_sep_char=\\".$sep

# stelle Verbindung zur Datenbank her
my $dbh = DBI->connect($dsn) or die $DBI::errstr;

# Der Name der CSV-Datei (ohne Pfad)
my $filename = 'stunden.csv';

# Damit wird die Datei als Tabelle 'info' gehandelt
$dbh->{'csv_tables'}->{'info'} = { 'file' => $filename};

# Lehrer, der in der 2. Stunde am Tag 4 frei hat
my $gewaehlte_stunde = 2;
my $gewaehlter_tag = 4;

# hole alle Lehrer aus der Tabelle, bei denen
# Stunde gleich der gewählten Stunde und der Tag
# gleich dem gewählten Tag ist
my $select = qq~SELECT Lehrer FROM info WHERE Stunde = ? AND Tag = ?~

# bereite die Abfrage vor
my $sth = $dbh->prepare( $select ) or die $dbh->errstr;

# führe die Abfrage aus
$sth->execute( $gewaehlte_stunde, $gewaehlter_tag) or die $dbh->errstr;

# gib alle gefundenen Lehrer aus.
while( my ($lehrer) = $sth->fetchrow_array() ){
print $lehrer,"\n";
}

View full thread Suchfunktion in .csv Dateien