Hallo ich heb folgendes Problem:
Ich möchte über ein HTML mit hilfe eines CGI eine DB durchsuchen:
Die DB heißt Kunden mit Tabelle 1 und Tabelle 2:
Tabelle 1 :
Kundennummer
Adresse
Name
Telefonnummer
Tabelle 2:
Kundennummer
Rechnungsbetrag
Wenn die Datenbank durchsucht wird und ein Treffer dabei ist soll dieser Datensatz in einer Tabell angezeigt werden und TXT Datei generiert werden wo der Rechnungsbetrag drinnen steht.
Hier mein Ansatz:
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#!f:/Perl/bin/perl -w
use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use DBI;
my $DBH;
my $STH;
my $CGI;
my $antwort;
$CGI = new CGI();
### Suche oder Eintrag ###
if ($CGI->param("suchanfrage")){
suche($CGI, $DBH, $STH);
}
elsif($CGI->param("eintrag")){
eintragen($CGI, $DBH, $STH);
}
### Start Subroutine Suche ###
sub suche{
my $name = param("name");
my $kundennummer = param("kundennummer");
$DBH = DBI->connect("DBI:CSV:Kunden=f:/Apache2/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen:$!";
$STH = $DBH->prepare("SELECT * FROM Kunden WHERE Name = '$name' AND Kundennummer = '$kundennummer' ")
or die "Konnte SQL-Statement nicht bereitstellen:$!";
$STH->execute()
or die "Ausfuehren nicht moeglich:$!";
### Treffer ###
if ($STH->rows != 0){
print <<HERE_TEXT1;
Content-type:text/html
<HTML>
<HEAD>
<TITLE> Antwort </TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>Suchergebnis:</H1>
<HR>
<TABLE BORDER>
<TR>
<TD WIDTH="200"><B>Name:</B></TD>
<TD WIDTH="100"><B>Kundennummer:</B></TD>
<TD WIDTH="200"><B>Adresse:</B></TD>
<TD WIDTH="100"><B>Telefonnummer:</B></TD>
</TR>
HERE_TEXT1
my @data;
while (@data = $STH->fetchrow_array()) {
my $name = $data[0];
my $kundennummer = $data[1];
my $adresse = $data[2];
my $telefonnummer = $data[3];
print qq§<TR>\n<TD><B>$name</B></TD>\n<TD>$kundennummer</TD>\n<TD>$adresse</TD>\n<TD>$telefonnummer</TD>\n</TR>\n§;
}
### Keine Treffer ###
else {
print <<HERE_TEXT2;
Content-type:text/html
<HTML>
<HEAD>
<TITLE>Antwort</TITLE>
</HEAD>
<BODY>
<P>Leider brachte die Suche nach '$name' keine Ergebnisse!</P>
<HR>
<P><A HREF =\"../formular1.html\">Neue Suche!</A></P>
</BODY>
</HTML>
HERE_TEXT2
}
$STH->finish();
$DBH->disconnect;
}
### Ende Subroutine Suche ###
Nur leider bekomme ich diese Fehler
syntax error at F:/Apache2/cgi-bin/dbsearch.pl line 96, near "else"
Missing right curly or square bracket at F:/Apache2/cgi-bin/dbsearch.pl line 117, at end of line
Execution of F:/Apache2/cgi-bin/dbsearch.pl aborted due to compilation errors.
Danke für eure Hilfe
lolipop 999