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

renee
 2007-06-19 18:16
#10042 #10042
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
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
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 = '/path/to/dir/with/csv/';

# 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 = 'info2.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";
}


Kann sein, dass Du CPAN:DBD::CSV erst noch Wiki:installieren musst.

Die Verbindung mit dem HTML-Formular musst Du selbst herstellen...
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 Suchfunktion in .csv Dateien