Schrift
[thread]842[/thread]

CSV Datei mit CGI öffnen (Seite 10)



<< |< 1 ... 7 8 9 10 11 12 >| >> 118 Einträge, 12 Seiten
ptk
 2006-12-12 21:34
#9070 #9070
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Das muss DBI->connect statt DBD->connect sein.
Antworten mit Zitat
renee
 2006-12-12 21:46
#9071 #9071
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Quote
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.


Nein, use DBI ist vollkommen richtig. Das sorgt schon dafür, dass auch der Treiber geladen wird (über das connect)...
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 21:53
#9072 #9072
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
Habs jetzt so gemacht

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.';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>~;


So zeigt er mir die Überschrift und den Link

Muss ich sonst noch irgendwas machen damit die Daten als Pie dargestellt werden.

Danke

lolipop 999
Antworten mit Zitat
PerlProfi
 2006-12-12 21:58
#9073 #9073
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
@renne ok, war ja auch nur eine Vermutung:
Quote
Aber das kann ich nut vermuten, selbst habe ich beides noch nie benutzt.


Aber wofür dann DBD::CSV?
Eventuell DBI:CSV zu DBD:CSV ??

MfG PerlProfi
Antworten mit Zitat
topeg
 2006-12-13 00:29
#9074 #9074
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
"DBD" enthält die gekapselten "Hardwarenahen" Befehle, bzw. Emulationen für Befehle. So gibt es auch Befehle um Fehlermeldungen von der Datenbank abzufagen, und das Login zu regeln.
"DBI" abstrahiert das ganze zu einem einheitlichen, einfachen Modul. Es enthält Funktionen, die bei allen Datenbanken gleich sind, übergeordnete Variablen und Einstellungen.
Antworten mit Zitat
renee
 2006-12-13 09:05
#9075 #9075
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
DBD = Databse Driver -- Treiber für das einzelne Datenbanksystem (oder Dateityp)
DBI = Database Interface -- wie topeg schon gesagt hat, zu einheitlichen Schnittstelle


Über DBI sagst Du, *dass* Du mit einer Datenbank arbeiten möchtest, DBD setzt dann so Sachen wie fetchrow_array, connect für die einzelnen Datenbanksysteme um. Die meisten Datenbanksysteme müssen unterschiedlich angesprochen werden. Damit es für den Programmierer aber "transparenter" ist, wurde das DBI entwickelt.

So kann das Skript mit nur wenigen Änderungen (in der Regel nur das connect) für ein anderes Datenbanksystem verwendet werden.

Der String "DBI:CSV" ist schon vollkommen ok. Mit dem "CSV" sagst Du DBI, dass es DBD::CSV laden soll.
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
renee
 2006-12-13 09:10
#9076 #9076
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=lolipop 999,12.12.2006, 20:53][...]

So zeigt er mir die Überschrift und den Link

Muss ich sonst noch irgendwas machen damit die Daten als Pie dargestellt werden.

Danke

lolipop 999[/quote]
Ja, Du muss Pie.cgi schreiben, in dem dass Diagramm erzeugt wird, aber das diskutieren wir ja schon Ewigkeiten hier
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-13 19:35
#9077 #9077
User since
2006-04-07
150 Artikel
BenutzerIn
[default_avatar]
meine antwort war falsch ich hatte gemeint

naicht als Pie sondern als Daten dargestellt werden.

Ich denke ich habe alles berücksichtigt was ihr mir geraten habt.

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
#! 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.';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>~;


Ich danke für jede Hilfe


Vielen Dank

lolipop 999
Antworten mit Zitat
renee
 2006-12-13 21:14
#9078 #9078
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Das genante Skript sollte Dir alle Daten in einer HTML-Tabelle ausgeben...

Wenn es das nicht tut, dann poste bitte mal einen Teil der CSV-Datei...
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
pq
 2006-12-14 10:50
#9079 #9079
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=lolipop 999,12.12.2006, 19:37]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 )
my $dbh = DBD->connect('DBD:CSV:f_dir='.$FindBin::Bin.';csv_sep_char=\;'.";csv_eol=\n") or die $DBI::errstr;
[/quote]
also wenn du noch nicht mal richtig abtippen kannst...
renee schrieb DBI->connect("DBI:CSV:...
du schreibst was anderes. jetzt darfst du buchstabe fuer buchstabe
vergleichen und selbst drauf kommen. mann mann.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Antworten mit Zitat
<< |< 1 ... 7 8 9 10 11 12 >| >> 118 Einträge, 12 Seiten



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