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

CGI=>HTML=>Link mit Tortendiagramm

Leser: 1


<< |< 1 2 3 4 ... 9 >| >> 82 Einträge, 9 Seiten
lolipop 999
 2006-09-26 23:03
#8755 #8755
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Hallo

Ich möchte dieses CGI Script in einem HTML Formular ausgeben lassen.
CGI Script:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use Text::CSV_XS;
use CGI;
my $cgi = CGI->new;
my $csv = Text::CSV_XS->new();
open my $fh, "<", "Auswertung.csv" or die $!;
print $cgi->start_table;
while (my $line = <$fh>) {
my $status = $csv->parse($line);
my @columns = $csv->fields();
print $cgi->Tr( map {
  $cgi->td($_)
} @columns;
}
print $cgi->end_table;


HTML 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
<html>

<head>
<meta http-equiv="Content-Language" content="de">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>DHL</title>
</head>

<body>

<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
 <tr>
   <td width="33%">
   <p align="center">DHL</td>
   <td width="33%">
   <p align="center">K&amp;N</td>
   <td width="34%">
   <p align="center">Hellmann</td>
 </tr>
 <tr>
   <td width="33%">&nbsp;</td>
   <td width="33%">&nbsp;</td>
   <td width="34%">&nbsp;</td>
 </tr>
 <tr>
   <td width="33%">&nbsp;</td>
   <td width="33%">&nbsp;</td>
   <td width="34%">&nbsp;</td>
 </tr>
 <tr>
   <td width="33%">&nbsp;</td>
   <td width="33%">&nbsp;</td>
   <td width="34%">&nbsp;</td>
 </tr>
 <tr>
   <td width="33%">&nbsp;</td>
   <td width="33%">&nbsp;</td>
   <td width="34%">&nbsp;</td>
 </tr>
</table>

</body>

</html>


Jetzt möchte ich die CGI in der HTML ausgeben lassen.

Dann benötige ich einen Link der ein Tortendiagramm öffnet und die daten der CSV anzeigt.

Vielleicht kann mir irgendjemand helfen

Für mich ist das zu kompliziert

mfg und Danke im Voraus

lolipop 999

edit pq: code-tags hinzugefügt\n\n

<!--EDIT|pq|1159370430-->
renee
 2006-09-27 10:13
#8756 #8756
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ähm, der Code
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use Text::CSV_XS;
use CGI;

my $cgi = CGI->new;
print $cgi->header();

my $csv = Text::CSV_XS->new();
open my $fh, "<", "Auswertung.csv" or die $!;
print $cgi->start_table;
while (my $line = <$fh>) {
my $status = $csv->parse($line);
my @columns = $csv->fields();
print $cgi->Tr( map {
$cgi->td($_;)
} @columns);
}
print $cgi->end_table;


Ist schon ein CGI. Du musst es nur noch im Browser aufrufen...

Die Tortengrafik solltest Du mit CPAN:GD::Graph hinbekommen. Versuch es mal und wenn Du dann auf Probleme stößt, kannst Du hier nochmal posten...
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-10-03 21:00
#8757 #8757
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Danke für deinen Tipp aber ich bin kein englisch spezialist

vielleicht gibts diese anleitung auch auf deutsch werde mal suchen
renee
 2006-10-03 23:02
#8758 #8758
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Naja, etwas damit rumspielen kann man ja. Und die Webseite kannst Du ja mal durch Googles Sprachtool jagen. Das ist zwar keine perfekte Übersetzung, aber für den Anfang könnte es reichen...
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-10-17 21:29
#8759 #8759
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Hallo habe mal was ausprobiert komme aber auf keinen grünen zweig.


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
#!d:/bin/perl-w
use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use GD::Graph::pie;
use DBI;

my $DBH;
my $STH;

###Datenbankverbindung###

$DBH=DBI->connect("DBI:CSV:Auswertung=d:/Programme/Apache Group/Apache/Apache2/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen!$!\n";

$STH=$DBH->prepare("SELECT * FROM Auswertung")
or die "Konnte SQL-Statement nicht bereitstellen!$!\n";

$STH->execute()
or die "Ausführen nicht möglich!$!\n";

my @werte;
my @res;

while (@werte=$STH->fetchow_array();{

push @res, @werte;
}
$STH->finish();
$STH->disconnect;

my @data=(
[$res[0],[$res[3],[$res[6],
[$res[1],[$res[4],[$res[7],
[$res[2],[$res[5],[$res[8]
);

my $my_graph=GD::Graph::pie->(new(300,300);

$my_graph->set(
x_label=>&acute;???&acute;,
y_label=>&acute;???&acute;,
title=>&acute;Auswertung&acute;
);

my $format=$my_graph->export_format;
print header("image/$format");
binmode STDOUT;
print $my_graph->plot(\@data)->$format();


Ich weiß leider nicht was ich als x_label und als y_label nehmen soll.

So sieht meine CSV aus.

Code: (dl )
1
2
3
4
5
6
DHL;K&N;Hellmann
1;5;3
2;4;5
3;3;1
4;2;2
5;1;4


Wie kann ich dann noch dieses Script mit dem Diagramm verlinken.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use Text::CSV_XS;
use CGI;

my $cgi = CGI->new;
print $cgi->header();

my $csv = Text::CSV_XS->new();
open my $fh, "<", "Auswertung.csv" or die $!;
print $cgi->start_table;
while (my $line = <$fh>) {
  my $status = $csv->parse($line);
  my @columns = $csv->fields();
  print $cgi->Tr( map {
          $cgi->td($_;)
      } @columns);
}
print $cgi->end_table;


Danke für die Hilfe

lolipop 999

edit pq: nochmal code-tags hinzugefügt\n\n

<!--EDIT|pq|1161108289-->
renee
 2006-10-18 10:38
#8760 #8760
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Ich sehe in dem Skript jede Menge syntaktischer Fehler. Die solltest Du erstmal beseitigen. Wenn mal perl -c skript.pl ein Syntax OK ausgibt, ist unsere Motivation zu helfen viel höher.

Du solltest selbst am Besten wissen, was bei der Achsen-Beschriftung stehen soll!

Und wie meinst Du das mit dem verlinken?

Übrigens: Wiki:lesenswert\n\n

<!--EDIT|renee|1161153582-->
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-10-22 19:45
#8761 #8761
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Hallo

Ich kann zwar ein bischen perl schreibenaber wenn es zur fehlersuche geht muss ich leider passen.

Vielleicht könnt ihr mir auf die fehler aufmerksam machen damit ich sie ausbessern kann.

Hier nochmals der 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
#!d:/bin/perl-w
use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use GD::Graph::pie;
use DBI;

my $DBH;
my $STH;

###Datenbankverbindung###

$DBH=DBI->connect("DBI:CSV:Auswertung=d:/Programme/Apache Group/Apache/Apache2/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen!$!\n";

$STH=$DBH->prepare("SELECT * FROM Auswertung")
or die "Konnte SQL-Statement nicht bereitstellen!$!\n";

$STH->execute()
or die "Ausführen nicht möglich!$!\n";

my @werte;
my @res;

while (@werte=$STH->fetchow_array();{

push @res, @werte;
}
$STH->finish();
$STH->disconnect;

my @data=(
[$res[0],[$res[3],[$res[6],
[$res[1],[$res[4],[$res[7],
[$res[2],[$res[5],[$res[8]
);

my $my_graph=GD::Graph::pie->(new(300,300);

$my_graph->set(
x_label=>'',
y_label=>'',
title=>'Auswertung'
);

my $format=$my_graph->export_format;
print header("image/$format");
binmode STDOUT;
print $my_graph->plot(\@data)->$format();


Vielen Dank für eure hilfe\n\n

<!--EDIT|renee|1161536697-->
renee
 2006-10-22 21:06
#8762 #8762
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Aus
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
while (@werte=$STH->fetchow_array();{

push @res, @werte;
}
$STH->finish();
$STH->disconnect;

my @data=(
[$res[0],[$res[3],[$res[6],
[$res[1],[$res[4],[$res[7],
[$res[2],[$res[5],[$res[8]
);
solltest Du wohl eher das hier machen:
Code: (dl )
1
2
3
4
5
6
7
8
while (@werte=$STH->fetchow_array()){

push @res, [@werte];
}
$STH->finish();
$STH->disconnect;

my @data=@res;


Es wäre auch ganz praktisch wenn Du Fehlermeldungen posten würdest...
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-11-22 19:46
#8763 #8763
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
So danke für den Tipp

Aber ich habe jetzt folgenden Fehler:

Can't locate object method "fetchow_array" via package "DBI::st" at F:/Apache2/cgi-bin/daba7_2.cgi line 28.

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

use strict;
use CGI qw(:standard);
use CGI::Carp qw(fatalsToBrowser);
use GD::Graph::pie;
use DBI;

my $DBH;
my $STH;

### Datenbankverbindung ###

$DBH = DBI->connect("DBI:CSV:Kunden =f:/Apache2/cgi-bin")
or die "Konnte keine Verbindung zur Datenbank herstellen!$!\n";

$STH = $DBH->prepare("SELECT * FROM Kunden")
or die "Konnte SQL-Statement nicht bereitstellen!$!\n";

$STH->execute()
or die "Ausfuehren nicht moeglich!$!\n";

my @werte;
my @res;

### Werte werden zeilenweise ausgelesen ####

while (@werte=$STH->fetchow_array()){

push @res, [@werte];
}
$STH->finish();
$STH->disconnect;

my @data=@res;


### Grafikeigenschaften festlegen ###

my $my_graph = GD::Graph::pie->new(300, 300);

$my_graph->set(
x_label => 'Name',
y_label => 'Bewertung',
title => 'Auswertung Kunden',
y_max_value => 600000,
y_tick_number => 8,
y_label_skip => 2
);

### Ausgabe ###

my $format = $my_graph->export_format;
print header("image/$format");
binmode STDOUT;
print $my_graph->plot(\@data)->$format();


Danke für die Hilfe

lolipop 999
Ronnie
 2006-11-22 19:57
#8764 #8764
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
[quote=lolipop 999,22.11.2006, 18:46]Can't locate object method "fetchow_array" via package "DBI::st" at F:/Apache2/cgi-bin/daba7_2.cgi line 28.[/quote]
fetchrow_array
<< |< 1 2 3 4 ... 9 >| >> 82 Einträge, 9 Seiten



View all threads created 2006-09-26 23:03.