perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 25
Click for quality!




04.02.2012 / 14:37

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragDaten aus array in hash übernehmen
Seitenanfang
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

Beitragre: Daten aus array in hash übernehmen
Seitenanfang
sub rechnung {
my $data = shift;
my %ersetzung = (
'Name' => $data->[2],
'Adresse' => $data->[1],
'Euro' => $data->[4]
);
}

Aufruf mit
rechnung(\@data);
#oder
rechnung( [$kundennummer, $adresse, $name, $telnr, $euro ]);

Datum: 04.09.2005-11:08

Beitragre: Daten aus array in hash übernehmen
Seitenanfang
Super, vielen vielen Dank.
Es hat endlich funktioniert.
Gruß, Steffi

Datum: 04.09.2005-12:07

-






-
-