Schrift
[thread]850[/thread]

CGI+HTML+DB durchsuchen+TXT generieren (Seite 3)



<< |< 1 2 3 4 5 6 ... 9 >| >> 85 Einträge, 9 Seiten
lolipop 999
 2006-12-08 19:12
#9157 #9157
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Also das einzige was ich finden kann ist DBD::JBDC

aber kein ODBC

hab jetzt perl 5.8
renee
 2006-12-08 19:26
#9158 #9158
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Also bei Activestate gibt es das Paket:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
ppm> s DBD-ODBC
Using cached search result set 1.
1. DBD-ODBC [1.13] ODBC Driver for DBI
ppm> describe 1
====================
Package 1:
Name: DBD-ODBC
Version: 1.13
Author: Jeff Urlwin (jurlwin@bellatlantic.net)
Title: DBD-ODBC
Abstract: ODBC Driver for DBI
Location: ActiveState Package Repository
Prerequisites:
1. DBI 1.21
Available Platforms:
1. MSWin32-x86-multi-thread-5.8
====================
ppm>
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/
lolipop 999
 2006-12-09 13:49
#9159 #9159
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
kannst du mir vielleicht den link mit dem PPM posten von activestate

ich habe die version
ActivePerl-5.8.8.819

und finde den link nicht

danke
lolipop 999
 2006-12-09 14:46
#9160 #9160
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
SO ich habs jetzt installieren können

Script ausgeführt nur bild bleibt weiß es steht auch nix im error log:

Hier mein Script:

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
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
#! f:/Perl/bin/perl 

use strict;
use CGI qw(:standard);
use DBI;
use CGI::Carp qw/fatalsToBrowser/;
my $dbh = DBI->connect('DBI:ODBC:Kunden');

my $cgi = CGI->new();
my %params = $cgi->Vars();

print $cgi->header();

if ( exists $params{suchanfrage} ) { &Suche ($cgi, \%params) }
elsif( exists $params{eintrag} ) { &Eintragen($cgi, \%params) }



print $cgi->end_html();

# ------------------------------------------------------------

sub Suche {
my ($cgi, $params) = @_;

my $dbh = &ConnectToDB();

$cgi->start_html('Antwort');

my $sqlStatement = qq~SELECT Tabelle1.Kundennummer, Tabelle1.Name,
Tabelle1.Telefon, Tabelle2.Rechnungsbetrag
FROM Tabelle2 JOIN Tabelle1
WHERE Tabelle2.Kundennummer = Tabelle1.Kundennummer~;

my $sth = &FireSql($dbh, $sqlStatement);

if ($sth->rows < 1) {
print $cgi->p("Keine Daten gefunden");
return;
} # if

print qq~
<center>
<h1>Suchergebnis:</h1>
<hr />
<table border="2">
<tr>
<td width="200"><b>Kundennummer:</b></td>
<td width="200"><b>Adresse:</b></td>
<td width="200"><b>Name:</b></td>
<td width="200"><b>Telefonnummer:</b></td>
<td width="200"><b>Rechnungsbetrag:</b></td>
</tr>\n~;

while( my @data = $sth->fetchrow() ) {
printf qq~
<tr>
<td><b>%s</b></td>
<td><b>%s</b></td>
<td><b>%s</b></td>
<td><b>%s</b></td>
</tr>\n~,
@data[0, 1, 2, 3];

} # while

$sth->finish();
$dbh->disconnect();
} # Suche
# ------------------------------------------------------------
sub Eintragen {


} # Eintragen
# ------------------------------------------------------------
sub ConnectToDB {

my $dsn = "DBI:ODBC:Kunden";
my $dbh = DBI->connect($dsn)
or die "Error: couldn't connect to '$dsn': $DBI::errstr\n";

return $dbh;
} # ConnectToDb
# ------------------------------------------------------------
sub FireSql {
my ($dbh, $sqlStatement, @values) = @_;

my $sth = $dbh->prepare($sqlStatement)
or die "Error: couldn't prepare sql: $DBI::errstr\n$sqlStatement\n";

$sth->execute(@values)
or die "Error: couldn't execute sql: $DBI::errstr\n$sqlStatement\n";

return ($sth);
} # FireSql

# ------------------------------------------------------------


Danke für die Hilfe

lolipop 999
GwenDragon
 2006-12-09 15:24
#9161 #9161
User since
2005-01-17
14554 Artikel
Admin1
[Homepage]
user image
[quote=lolipop 999,09.12.2006, 12:49]kannst du mir vielleicht den link mit dem PPM posten von activestate[/quote]
Das Repository ist für PPM4 doch unter
http://ppm4.activestate.com/MSWin32-x86/5.8/819/package.xml

Schau mal in PPM4 mit Strg-P die Einstellungen unter Repositories. Das sollte als Icon, wenn es aktiviert ist, als braunes Paket zu sehen sein.
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

lolipop 999
 2006-12-09 15:32
#9162 #9162
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Danke super der geht
renee
 2006-12-09 18:25
#9163 #9163
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aus
Code: (dl )
my $dbh = DBI->connect('DBI:ODBC:Kunden');
sollte
Code: (dl )
my $dbh = DBI->connect('DBI:ODBC:Kunden') or die $DBI::errstr;
werden...

Wenn Du mit Access verbinden willst, dann muss es eher so aussehen:
Code: (dl )
my $dbh = DBI->connect('DBI:ODBC:driver=Microsoft Access-Treiber (*.mdb); dbq=Kunden.mdb') or die $DBI::errstr;
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/
lolipop 999
 2006-12-10 11:23
#9164 #9164
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Habe das ganze jetzt im CMD ausgeführt:

Content-Type: text/html; charset=ISO-8859-1


</body>
</html>

Hier mein Code:

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
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
#! f:/Perl/bin/perl -w

use strict;
use CGI qw(:standard);
use DBI;
use CGI::Carp qw/fatalsToBrowser/;
my $dbh = DBI->connect('DBI:ODBC:driver=Microsoft Access-Treiber (*.mdb); dbq=Kunden.mdb') or die $DBI::errstr;

my $cgi = CGI->new();
my %params = $cgi->Vars();

print $cgi->header();

if ( exists $params{suchanfrage} ) { &Suche ($cgi, \%params) }
elsif( exists $params{eintrag} ) { &Eintragen($cgi, \%params) }



print $cgi->end_html();

# ------------------------------------------------------------

sub Suche {
my ($cgi, $params) = @_;

my $dbh = &ConnectToDB();

$cgi->start_html('Antwort');

my $sqlStatement = qq~SELECT Tabelle1.Kundennummer, Tabelle1.Name,
Tabelle1.Telefon, Tabelle2.Rechnungsbetrag
FROM Tabelle2 JOIN Tabelle1
WHERE Tabelle2.Kundennummer = Tabelle1.Kundennummer~;

my $sth = &FireSql($dbh, $sqlStatement);

if ($sth->rows < 1) {
print $cgi->p("Keine Daten gefunden");
return;
} # if

print qq~
<center>
<h1>Suchergebnis:</h1>
<hr />
<table border="2">
<tr>
<td width="200"><b>Kundennummer:</b></td>
<td width="200"><b>Adresse:</b></td>
<td width="200"><b>Name:</b></td>
<td width="200"><b>Telefonnummer:</b></td>
<td width="200"><b>Rechnungsbetrag:</b></td>
</tr>\n~;

while( my @data = $sth->fetchrow() ) {
printf qq~
<tr>
<td><b>%s</b></td>
<td><b>%s</b></td>
<td><b>%s</b></td>
<td><b>%s</b></td>
</tr>\n~,
@data[0, 1, 2, 3];

} # while

$sth->finish();
$dbh->disconnect();
} # Suche
# ------------------------------------------------------------
sub Eintragen {


} # Eintragen
# ------------------------------------------------------------
sub ConnectToDB {

my $dsn = "DBI:ODBC:Kunden";
my $dbh = DBI->connect($dsn)
or die "Error: couldn't connect to '$dsn': $DBI::errstr\n";

return $dbh;
} # ConnectToDb
# ------------------------------------------------------------
sub FireSql {
my ($dbh, $sqlStatement, @values) = @_;

my $sth = $dbh->prepare($sqlStatement)
or die "Error: couldn't prepare sql: $DBI::errstr\n$sqlStatement\n";

$sth->execute(@values)
or die "Error: couldn't execute sql: $DBI::errstr\n$sqlStatement\n";

return ($sth);
} # FireSql

# ------------------------------------------------------------


Leider wird wieder nichts ausgegeben

Danke für die Hilfe

lolipop 999
topeg
 2006-12-10 12:44
#9165 #9165
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Bitte räume mal deinen Code auf du versuchst zweimal eine Datenbankverbindung auf zu bauen und eine Variante davon ist falsch...
renee
 2006-12-10 17:43
#9166 #9166
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ja, ich würde sagen, dass es weder $params{suchanfrage} noch $params{eintrag} gibt... Deswegen sollte man immer einen else-Zweig machen...

Probiermal was passiert, wenn Du in der Konsole skript.cgi suchanfrage=hallo eingibst oder skript.cgi eintrag=neu...
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/
<< |< 1 2 3 4 5 6 ... 9 >| >> 85 Einträge, 9 Seiten



View all threads created 2006-12-03 10:38.