Hallo,
ich muss aus einer Accessdatenbank nach Eingabe einer Kundennummer Daten einlesen, ausgeben und eine Rechnung mithilfe einer txt.Datei ausgeben.
Funktioniert alles auch ganz gut, ausser dass ich in dem %ersetzung Daten brauche aus @data.
Wenn ich direkt etwas eingebe (wie hier Meier usw.) dann klappt alles.
Wie muss ich das denn anders notieren damit ich an die Elemente aus dem array ran komme?
Statt Meier brauche ich z.B. $name.
Bin für jede Hilfe dankbar.
Viele Grüße, Steffi hier mein Script
#!c:/perl/bin/perl.exe -w
use strict;
use CGI qw(:standard);
use DBI;
my $cgi = new CGI;
my $kdnummer = $cgi->param("eingabe");
my $dbh = DBI->connect('DBI:ODBC:db1');
my $sqlstatement = qq§SELECT Table1.Kundennummer, Adresse, Name, Telefonnummer, Table2.Rechnungsbetrag FROM Table1, Table2 WHERE Table1.Kundennummer = $kdnummer And Table1.Kundennummer = Table2.Kundennummer§;
my $sth = $dbh->prepare($sqlstatement);
$sth->execute()
or die "Could not execute SQL statement...maybe invalid?";
###Text einlesen###
sub rechnung
{
open (DATEI,"< rechnung.txt");
open (NEU, "> test5.txt");
undef $/;
my $text = <DATEI>;
$text =~s/\n/<br>/g;
my %ersetzung = ("Name"=> "Meier",
"Adresse"=> "Weg...Ort...",
"Euro"=> "250Euro");
my $key;
foreach $key(keys %ersetzung)
{
$text =~s/$key/$ersetzung{$key}/g;
}
close (NEU);
close (DATEI);
print $text;
}
###Ende Text
print<<HERE_TEXT;
Content-type:text/html
<HTML>
<HEAD>
<TITLE>Daten</TITLE>
</HEAD>
<BODY>
<CENTER>
<H1>Ihre Daten:</H1>
<HR>
<TABLE BORDER>
<TR>
<TD WIDTH="150"><B>Kundennummer:</B></TD>
<TD WIDTH="150"><B>Adresse:</B></TD>
<TD WIDTH="150"><B>Name:</B></TD>
<TD WIDTH="150"><B>Telefonnummer:</B></TD>
<TD WIDTH="150"><B>Rechnungsbetrag;</B></TD>
</TR>
HERE_TEXT
my @data;
while(@data=$sth->fetchrow_array())
{my $kundennummer=$data[0];
my $adresse=$data[1];
my $name=$data[2];
my $telnr=$data[3];
my $euro=$data[4];
print qq§<TR>\n<TD>$kundennummer</TD>\n<TD>$adresse</TD>\n<TD>$name</TD>\n<TD>$telnr</TD>\n<TD>$euro</TD>\n</TR>\n</TABLE>\n</CENTER>§;
print qq§<H1>Rechnung</H1>\n§;
rechnung();
}
$dbh->disconnect();
Datum: 03.09.2005-12:01
