Thread Wagenanzeige Raspberry Pi (73 answers)
Opened by NIwu at 2014-10-25 13:58

NIwu
 2014-11-04 19:33
#178109 #178109
User since
2014-10-25
44 Artikel
BenutzerIn

user image
Hallo du


ein problem hier muß ich die daten per hand eintrag dann geht es

Aber ich bekomme die daten per json so angeboten aus der DB
[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]



Hier das Script



#!"D:\webserver\xampp\perl\bin\perl.exe"
#
###! /usr/bin/perl -w


use strict;
use warnings;

use JSON; # muss evtl. nachinstalliert werden
use LWP::Simple; # muss evtl. nachinstalliert werden
require LWP::UserAgent;
use Data::Dumper;
use URI::Escape;
use CGI::Carp qw(fatalsToBrowser);


# Wo sind die Daten Haltestellen ID zu holen?
#my $url = "http://localhost/abfahrten.do?id=01";



# Daten abholen lasssen
my $content = get( $url );
#my $content = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]';

# Abbruch, wenn Daten nicht geholt werden konnten
die "Could not load data from $url." if not defined $content;

# Bereite JSON-Parser vor
my $json = JSON->new->allow_nonref;


# Dekodiere JSON-Daten und erstelle eine Datenstruktur
my $data = $json->decode( $content );

# Kontrollausgabe
#print Dumper $data;


my $array_from_json = [["ZG NR","Richtung","Rücklaufende Minuten"],["ZG NR","Richtung", "Rücklaufende Minuten"]];
#$array_from_json = [["RE1201","München","120"],["ICE","Dresden","95"]];
$array_from_json = [["$content"]];


my @keys = qw(ZugNr Richtung Minuten);
my %Fahrplan = ();
foreach my $zug( 1 .. scalar @$array_from_json){
my %hh = (); # Helper Hash
@hh{@keys} = @{$array_from_json->[$zug-1]};
$Fahrplan{$zug} = \%hh;
}


#printf Dumper \%Fahrplan;

#print scalar($content);

#printf join("\n",$content);



chomp( my @daten = $content );

my @sortiert = map { $_->[0]}
sort { $b->[1] <=> $a->[1] }
map { [ $_, (split/;/)[0,1] ] } @daten;

#print dumper \@sortiert;






#print "Content-type: text/html\n\n";
#print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
#print "<html><head><title>Test-Ausgabe</title></head><body>\n";


#print "\n";


#my $data = scalar($content);
#my $Fahrplan = scalar(@keys);


#print "@keys<br>\n\n\n";
#print "$content<br>\n";
#print "</body></html>\n";






#my $abfahrenString = '[["S3","Dresden, Plauen","1"],["S1","Dresden, Flughafen","2"],["RE01","Meissen","10"],["ICE","Hamburg, Neugraben","15"]]';
my $abfahrenString = '[["$content?"]]';


my @keys = qw(ZugNr Richtung Minuten);
my @abfahrten = sort { $a->[2] <=> $b->[2] } @{decode_json $abfahrenString};

print "Content-type: text/html\n\n";
print '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">', "\n";
print "<html><head><title>Test-Ausgabe</title></head><body>\n";


print "\n";

print "<table><tr>";
print "<th>$_</th>" for @keys;
print "</tr>\n";

for my $zug (@abfahrten) {
print "<tr>";
print "<td>$_</td>" for @$zug;
print "</tr>\n";
}

print "</table></body></html>\n";

View full thread Wagenanzeige Raspberry Pi