Schrift
[thread]1079[/thread]

Suchfunktion in .csv Dateien (Seite 2)

Leser: 3


<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
murphy
 2007-06-20 14:00
#10048 #10048
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
[quote=Del Piero,18.06.2007, 23:29][...] Die Daten sind Kommagetrennt in der Datei (/var/www/html/cgi-bin/stunden.csv). [...][/quote]
Kleine Anmerkung am Rande: Es ist aus Sicherheitsgründen nicht unbedingt clever, Datendateien in ein Verzeichnis für ausführbare CGI-Skripte zu legen.
When C++ is your hammer, every problem looks like your thumb.
Del Piero
 2007-06-20 17:20
#10049 #10049
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
an was erkenne ich denn ob DBD:CSV installiert ist???
Gast Gast
 2007-06-20 18:31
#10050 #10050
perl -e 'use DBD::CSV;'
renee
 2007-06-20 19:30
#10051 #10051
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Noch weniger zu Tippen ;) perl -MDBD::CSV -e 1
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/
Del Piero
 2007-06-21 00:19
#10052 #10052
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
als ich habe nun DBD-CSV-0.22.tar.gz runtergeladen entpackt. Dann die Befehle:

perl Makefile.PL
make
make test
make install

eingegeben. Muss ich da sonst noch was machen :rock: ? sorry aber ich kenn leider DBD-CSV überhaupt nicht :(
renee
 2007-06-21 00:39
#10053 #10053
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Wenn das reibungslos durchgelaufen ist, solltest Du es jetzt einsetzen können.
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/
Del Piero
 2007-06-21 01:06
#10054 #10054
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
also mehr muss ich dafür jetzt nicht tun wenn das perl-script druchläuft müsste es dann gehn oder???
Del Piero
 2007-06-22 14:26
#10055 #10055
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
irgendwie läuft das noch nicht so rund. ich bekomme eine fehlermeldung:

Fehlermeldung:
Premature end of script headers: suche.pl

was kann ich denn dagegen tun??
renee
 2007-06-22 14:46
#10056 #10056
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann gibst Du keinen Wikipedia:HTTP-Header aus.

Zeig mal Dein Skript.
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/
Del Piero
 2007-06-22 15:59
#10057 #10057
User since
2007-03-21
28 Artikel
BenutzerIn
[default_avatar]
suche.pl:
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
49
50
51
52
53
54
55
#!/usr/bin/perl -w

print "Content-type: text/html\n\n";
print "<html><head></head><body>";

#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 eine 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 = stunde;
my $gewaehlter_tag = search;

#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";
}

print "</body></html>";
exit(0);


suche.htm
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<html>
<head>
<title>
</title>
<body>
<form target="search" method="get" action="../cgi-bin/suche.pl">
<select size=1 name="Kategorie"
onChange="Go(this.form.Kategorie.options[this.form.Kategorie.options.selectedIndex].value)">
<option value="Lehrer">Lehrer</option>
<option value="Raum">R&auml;ume</option>
</select>

<script language="JavaScript">
var Datum = new Date();
var Tag = Datum.getDate();
var Monat = Datum.getMonth() + 1;
var Jahr = Datum.getYear()+1900;
var Stunden = Datum.getHours();
var Minuten = Datum.getMinutes();
document.write(Tag + "." + Monat + "." + Jahr + " &ensp;&ensp;- &ensp;&ensp;" + Stunden + "."
+ Minuten + " Uhr ");

</script>
<p>
<table>
<tr>
<td><center><input type=checkbox name="stunde" value="1"> Stunde 1<P></td>
<td><center><input type=checkbox name="stunde" value="4"> Stunde 4<P></td>
<td><center><input type=checkbox name="stunde" value="7"> Stunde 7<P></td>
<td><center><input type=checkbox name="stunde" value="10"> Stunde 10<P></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td><center><input type=checkbox name="stunde" value="2"> Stunde 2<P></td>
<td><center><input type=checkbox name="stunde" value="5"> Stunde 5<P></td>
<td><center><input type=checkbox name="stunde" value="8"> Stunde 8<P></td>
<td><center><input type=checkbox name="stunde" value="11"> Stunde 11<P></td>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
</tr>
<tr>
<td><center><input type=checkbox name="stunde" value="3"> Stunde 3<P></td>
<td><center><input type=checkbox name="stunde" value="6"> Stunde 6<P></td>
<td><center><input type=checkbox name="stunde" value="9"> Stunde 9<P></td>
<td><center><input type=checkbox name="stunde" value="12"> Stunde 12<P></td>
</tr>
</table>
Datumseingabe: <input name="search" type="text" id="search" value=""><p><p>

<input type="Button" value="Suche Starten" onClick="document.forms[0].submit()">

</form>
</body>
</head>
</html>
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2007-06-19 01:29.