Thread Ein - / Ausblenden von Tabellen - Javascript & PERL CGI (23 answers)
Opened by PERLScripter at 2015-03-03 13:43

PERLScripter
 2015-03-05 13:57
#179988 #179988
User since
2015-03-03
12 Artikel
BenutzerIn
[default_avatar]
Hallo Raubtier,

Danke für die Rückmeldung. Ich weiss dass es teilweise schwierig ist, den Leuten zu helfen, wenn sie nur Teile des Codes posten, aber da es ein geschäftliches Script ist, muss auch der Datenschutz gewährt sein. ;-)

Ich versuche es nochmal genauer zu erläutern :

Nach der Abfrage auf der DB verarbeite ich die zurückgegeben Zeilen einzeln mit einer foreach Schleife. Dies ist die gesamte Schleife, nur die DB Abfrage draüber fehlt wie gesagt :

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
DB_Query_Monitoring_DB {

my $HTML_Anzeige_Zaehler = 0;

foreach( @Ergebnis_SQL_DB )
{
my $Anzahl = 1;
my $x = 0;

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

my $HTML_Anzeige_SSTs = $Ergebnis_SQL_DB[$i][3];
my $HTML_Anzeige_Broker = $Ergebnis_SQL_DB[$i][4];
my $HTML_Anzeige_MTs = $Ergebnis_SQL_DB[$i][7];

my $HTML_Anzeige_Status = $Ergebnis_SQL_DB[$i][9];
my $HTML_Anzeige_EC = $Ergebnis_SQL_DB[$i][10];

my $HTML_Anzeige_Anzahl = $Ergebnis_SQL_DB[$i][11];

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

for ( $x = 0; $x < $Anzahl; $x++ )
{
if ( $Ergebnis_SQL_DB[$i][10] == '00000' )
{
my $Verarbeitung_TS_I = $Ergebnis_SQL_DB[$i][1];
my $Verarbeitung_TS_II = $Ergebnis_SQL_DB[$i][2];

my ( $HTML_Anzeige_TS_I , $HTML_Anzeige_TS_II , $HTML_Anzeige_TS_Differenz ) = &TS_Konvertierung( $Verarbeitung_TS_I , $Verarbeitung_TS_II );

my @HTML_Anzeige_Parameter = ( $HTML_Anzeige_Zaehler , $HTML_Anzeige_SSTs , $HTML_Anzeige_Broker , $HTML_Anzeige_MTs ,
$HTML_Anzeige_Status , $HTML_Anzeige_EC , $HTML_Anzeige_TS_I , $HTML_Anzeige_TS_II ,
$HTML_Anzeige_TS_Differenz , $HTML_Anzeige_Anzahl );

&Anzeige_Ergebnisse( @HTML_Anzeige_Parameter );

# Ausgabe des Rückgabe - Parameter

# print "\n";
# print "TS I : $HTML_Anzeige_TS_I" , "\n";
# print "TS II : $HTML_Anzeige_TS_II" , "\n";
# print "Differenz : $HTML_Anzeige_TS_Differenz" , "\n";
# print "\n";
}

if ( $Ergebnis_SQL_DB[$i][10] != '00000' )
{
my $Verarbeitung_TS_I = $Ergebnis_SQL_DB[$i][1];
my $Verarbeitung_TS_II = $Ergebnis_SQL_DB[$i][2];

my ( $HTML_Anzeige_TS_I , $HTML_Anzeige_TS_II , $HTML_Anzeige_TS_Differenz ) = &TS_Konvertierung( $Verarbeitung_TS_I , $Verarbeitung_TS_II );

my @HTML_Anzeige_Parameter = ( $HTML_Anzeige_Zaehler , $HTML_Anzeige_SSTs , $HTML_Anzeige_Broker , $HTML_Anzeige_MTs ,
$HTML_Anzeige_Status , $HTML_Anzeige_EC , $HTML_Anzeige_TS_I , $HTML_Anzeige_TS_II ,
$HTML_Anzeige_TS_Differenz , $HTML_Anzeige_Anzahl );

&Anzeige_Ergebnisse( @HTML_Anzeige_Parameter );

# Ausgabe des Rückgabe - Parameter

# print "\n";
# print "TS I : $HTML_Anzeige_TS_I" , "\n";
# print "TS II : $HTML_Anzeige_TS_II" , "\n";
# print "Differenz : $HTML_Anzeige_TS_Differenz" , "\n";
# print "\n";
}
}

print "\n";

$i++;

$HTML_Anzeige_Zaehler++;
}
}


Den Aufruf der Sub "&TS_Konvertierung" überspringe ich in diesem Post,
er funktioniert ja mittlerweile einwandfrei.

Also übergibt er alle Parameter über das Array @HTML_Anzeige_Parameter an die Sub - Routine "&EPROM_Anzeige_Ergebnisse()". Im Moment sieht diese noch folgender maßen aus :

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
sub Anzeige_Ergebnisse {

print '<HTML>';
print '<HEAD>';
print '<TITLE> Monitoring</TITLE>';
print '</HEAD>';
print '<BODY BGCOLOR = "#FFFFFF">';
# print '<H1>Monitoring - Ergebnisse</H1>';

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

print '<table border="1" width="75%">';

print '<tr>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[0] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[1] . '</td>';
print '<td style="width:11%" align="middle"' . 'bgcolor="' . "" .'">' . $_[2] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[3] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[4] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[5] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[6] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[7] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[8] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[9] . '</td>';
print '<td style="width:11%" align="middle"' . 'bgcolor="' . "" .'">' . "Platz - Halter" . '</td>';
print '</tr>';
print '<!-- usw. andere Zeilen der Tabelle -->';
print '</table>';

print '</BODY>';
print '</HTML>';

}


Ich ändere das noch in eine For - Schleife, damit ich Prints
löschen kann.

So funktioniert das Script einwandfrei. Mein Problem ist nun wie beschrieben, dass ich unter jedem Datensatz noch eine zusätzliche Tabelle darstellen möchte, die über einen Link ein - / ausklappbar ist.

Genau hier hänge ich gerade. Nach einigem Herumprobieren habe ich folgendes angepasst :

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
sub Anzeige_Ergebnisse {

print '<HTML>';
print '<HEAD>';
print '<TITLE>Monitoring</TITLE>';

print '<SCRIPT TYPE="text/javascript">';
print 'var myNumber = ' . "$_[0]" . ';';
print 'function Zeigen() {';
print 'alert( "Nr. des DS : "+ myNumber);';
print '}';
print '</SCRIPT>';

print $_[0];

print '</HEAD>';
print '<BODY BGCOLOR = "#FFFFFF">';
# print '<H1>Monitoring - Ergebnisse</H1>';

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

print '<table border="1" width="75%">';

print '<tr>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[0] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[1] . '</td>';
print '<td style="width:11%" align="middle"' . 'bgcolor="' . "" .'">' . $_[2] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[3] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[4] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[5] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[6] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[7] . '</td>';
print '<td style="width:9%" align="middle"' . 'bgcolor="' . "" .'">' . $_[8] . '</td>';
print '<td style="width:7%" align="middle"' . 'bgcolor="' . "" .'">' . $_[9] . '</td>';
print '<td style="width:11%" align="middle"' . 'bgcolor="' . "" .'">' . '<a href="javascript:Zeigen()">Details</a>' . '</td>';
print '</tr>';
print '<!-- usw. andere Zeilen der Tabelle -->';
print '</table>';

print '</BODY>';
print '</HTML>';


Die Krux ist, dass wenn ich auf den Link "Details" klicke, in der Meldung immer steht : "Nr. des DS : 1". Das print $_[0]; zeigt, dass der Wert beim 1. DS "0" und beim 2. DS "1" ist. Also ist die Übergabe richtig, nur der Aufruf klappt nicht.

Oder sehe ich das falsch ??

Vielen Dank im Voraus !

Viele GRüße
PERLSCripter
Last edited: 2015-03-05 14:38:00 +0100 (CET)

View full thread Ein - / Ausblenden von Tabellen - Javascript & PERL CGI