Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]842[/thread]

CSV Datei mit CGI öffnen (Seite 9)



<< |< 1 ... 6 7 8 9 10 11 12 >| >> 118 Einträge, 12 Seiten
renee
 2006-12-08 13:20
#9060 #9060
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Dann mach noch ein
Code: (dl )
print qq~<a href='torte.cgi'>Zum Tortendiagramm</a>~;
in das Skript. und in torte.cgi berechnest Du das Tortendiagramm...
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/
Antworten mit Zitat
lolipop 999
 2006-12-08 19:20
#9061 #9061
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Hallo

Nur leider funzt das Tortendiagramm nicht wie in diesem Link beschrieben


Pie Tread

Danke

lolipop 999
Antworten mit Zitat
lolipop 999
 2006-12-09 14:49
#9062 #9062
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Leider steht jetzt wieder nur die Überschrift da

Hier mein unverändeter Code:



die CSV Kunde entält Daten.

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

use strict;
use warnings;
use DBI;
use FindBin ();
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use HTML::Table;

my $dbh = DBI->connect("DBI:CSV:f_dir=".$FindBin::Bin);
my $stmt = "SELECT * FROM Kunde";

my $sth = $dbh->prepare($stmt) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();

print header();
print start_html();
my $table2 = new HTML::Table;
$table2->addRow('DHL','K_N','Hellmann');
while(my @row = $sth->fetchrow_array()){
$table2->addRow(@row);
}
$dbh->disconnect;
$table2->print;

print qq~<a href='Pie.cgi'>Zum Tortendiagramm</a>~;


danke für die Hilfe
Antworten mit Zitat
renee
 2006-12-09 18:27
#9063 #9063
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du solltest Dir mal mehr Fehlerbehandlung angewöhnen:
Code: (dl )
my $dbh = DBI->connect("DBI:CSV:f_dir=".$FindBin::Bin) or die $DBI::errstr;


Funktioniert das Skript denn über die Kommandozeile.

Du solltest Dir angewöhnen, erstmal alles über die Kommandozeile aufzurufen, um zu sehen, ob alles soweit klappt. Und dann erst auf die CGI-Variante umsteigen...
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/
Antworten mit Zitat
lolipop 999
 2006-12-10 11:19
#9064 #9064
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
So habs jetzt übers CMD ausgeführt folgendes kommt dabei raus.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>

<table>
<tr><td>DHL</td><td>K_N</td><td>Hellmann</td></tr>
</table>
<a href='Pie.cgi'>Zum Tortendiagramm</a>


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

use strict;
use warnings;
use DBI;
use FindBin ();
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use HTML::Table;

my $dbh = DBI->connect("DBI:CSV:f_dir=".$FindBin::Bin) or die $DBI::errstr;
my $stmt = "SELECT * FROM Kunde";

my $sth = $dbh->prepare($stmt) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();

print header();
print start_html();
my $table2 = new HTML::Table;
$table2->addRow('DHL','K_N','Hellmann');
while(my @row = $sth->fetchrow_array()){
$table2->addRow(@row);
}
$dbh->disconnect;
$table2->print;

print qq~<a href='Pie.cgi'>Zum Tortendiagramm</a>~;


Scheint leider nicht zu funzen da die einträge der tabelle nicht dargestellt werden.

Danke für die Hilfe

lolipop 999
Antworten mit Zitat
topeg
 2006-12-10 12:51
#9065 #9065
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Existiert in "cgi-bin" eine Datei mit Namen "Kunde"?
Sind auch Datensätze enthalten?

Weiterhin wäre es günstig, wenn du den HTML-Code vervollständigen würdest indem du den body- und html-Tag schließen würdest.
Antworten mit Zitat
topeg
 2006-12-10 14:25
#9066 #9066
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Nach einigem Experimentieren glaube ich den Fehler gefunden zu haben.

Alle Zeilenunbrüche im CVS sind defaultmäßig auf "\r\n" (oder 0D0A nach Hex oer "\015\012") allso Windowsartig. Weiterhin muss der Trenner "," sein, aber man kann das auch ändern. ("DBD::CVS" ist dazu recht gesprächig)

Hier mal ein Beispiel bei dem der Spaltentrenner ";" und der Zeilentrenner "\n" ist:
Code: (dl )
my $dbh = DBI->connect('DBI:CSV:f_dir='.$FindBin::Bin.';csv_sep_char=\;'.";csv_eol=\n");
Antworten mit Zitat
renee
 2006-12-10 17:41
#9067 #9067
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das heißt übrigens CPAN:DBD::CSV ;)

Da das Skript auf einer Windowsmaschine läuft (der Shebang nach zu urteilen) sollte der Zeilenumbruch kein Thema sein.

Aber ich habe auch schon einen Bugreport und Patch dazu auf rt.cpan.org geschrieben...
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/
Antworten mit Zitat
lolipop 999
 2006-12-12 20:37
#9068 #9068
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Hallo

Erstmals Danke für die Hilfe
nur leider bekomm ich jetzt folgenden Fehler

Code: (dl )
Can't locate object method "connect" via package "DBD" at F:/Apache2/cgi-bin/daba7.cgi line 11.


und hier mein daba7.cgi:

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

use strict;
use warnings;
use DBI;
use FindBin ();
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use HTML::Table;

my $dbh = DBD->connect('DBD:CSV:f_dir='.$FindBin::Bin.';csv_sep_char=\;'.";csv_eol=\n") or die $DBI::errstr;
my $stmt = "SELECT * FROM Kunde";

my $sth = $dbh->prepare($stmt) or die $dbh->errstr();
$sth->execute() or die $dbh->errstr();

print header();
print start_html();
my $table2 = new HTML::Table;
$table2->addRow('DHL','K_N','Hellmann');
while(my @row = $sth->fetchrow_array()){
$table2->addRow(@row);
}
$dbh->disconnect;
$table2->print;

print qq~<a href='Pie.cgi'>Zum Tortendiagramm</a>~;


Vielen Dank für die Hilfe

lolipop 999
Antworten mit Zitat
PerlProfi
 2006-12-12 21:16
#9069 #9069
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Das liegt wohl daran, dass du DBD nicht einbindest.

Code: (dl )
use DBI;

ist warscheinlich falsch, oder, wenn du es brauchst fehlt eben noch ein:
Code: (dl )
use DBD;

Aber das kann ich nut vermuten, selbst habe ich beides noch nie benutzt.

MfG PerlProfi\n\n

<!--EDIT|PerlProfi|1165951054-->
Antworten mit Zitat
<< |< 1 ... 6 7 8 9 10 11 12 >| >> 118 Einträge, 12 Seiten



View all threads created 2006-11-17 19:35.