Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Tabellenkopfzeile in Druckansicht wiederholen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Tabellenkopfzeile in Druckansicht wiederholen


 
aennenbach
05-05-2002, 13:18 
 
Hallo Leute,

hat jemand eine Ahnung, wie man automatisch die Tabellenkopfzeile in einer Druckansicht wiederholen kann.

Die Daten für die Tabelle kommen aus einer Datenbank, werden also dynamisch generiert. Per PHP alle x Zeilen den Tabellenkopf zu wiederholen, ist hier natürlich die klassische Lösung.

Das funzt hier aber nicht, da die Höhe der Tabellenzeilen variiert, d.h. die 1. Zeile hat z.B. 5 Zeilen, die 2. 2 Zeilen, die 3. 1 Zeile, die 4. 10 Zeilen, usw. je nach Textlänge in der Zelle. Da kommt man natürlich nicht allzu weit mit dem statischen wiederholen des Tabellenkopfs.

Hat da jemand eine Lösung?

Gruß
Achim

 
pekka
05-05-2002, 13:57 
 
Zumindest für IE ab 4.0 und Netscape ab 6.0 sollten folgende Infos weiterhelfen:

http://selfhtml.teamone.de/html/tabellen/aufbau.htm#kopf_koerper_fuss

 
aennenbach
06-05-2002, 19:28 
 
Da sieht man's mal wieder. 4 Augen sehen mehr als 2.
Ich hab' mir zwar SelfHTML runtergeladen und auch diesen Artikel gelesen, aber wie es scheint nicht allzu genau.

Ich werd' das mal ausprobieren, gehe jedoch im vornherein davon aus, das es funktioniert.

Vielen Dank für die schnelle Hilfe.


Gruß
Achim

 
aennenbach
06-05-2002, 20:48 
 
Also ....

Ich hab' das jetzt mal so gemacht wie in SelfHTML beschrieben (THead, TFoot, TBody).
Aber es funktioniert leider nicht. :dontknow:
Woran könnte das liegen?

Gruß
Achim

 
Titus
07-05-2002, 17:02 
 
Vielleicht ist dein Browser zu alt? Das funktioniert nämlich bei Netscape erst ab 6.0.

Möglicherweise machen dir auch eine Einstellung in den Stylesheets einen Strich durch die Rechnung.(?)

 
pekka
07-05-2002, 17:25 
 
Was für einen Browser fährst Du, auf was für einer Plattform? Wenn Du uns eine URL gibst, können wir's auch zuhause probieren. Tabellenquelltext?

 
aennenbach
07-05-2002, 19:28 
 
Also, als Browser verwende ich IE5.5, bzw. IE6 auf Windows 2000 SP2 und da das ganze ist ein Intranet Projekt ist werden auch nur I-Explorer ab Version 5.5 verwendet. URL kann ich euch keine geben (Intranet).

StyleSheet's sind auch nicht das Problem, da es keinen Unterschied macht, ob StyleSheet's verwendet werden oder nicht.

Als Testszenario hab' ich mal das SelfHTML Beispiel
http://selfhtml.teamone.de/html/tabellen/anzeige/thead_tfoot_tbody.htm
verwendet. Dabei habe ich einfach die Zeilen aus dem TBody mehrfach kopiert, um auf eine passende Länge für den Seitenumbruch zu kommen. (Natürlich ohne die TBody Anweisung zu wiederholen ;-))

Ich kann auch gerne mal meinen Test - Quellcode zur Verfügung stellen, aber ich denke mit dem obigen Link sollte es auch gehen.


Gruß
Achim

P.S.:
Hat denn schon mal jemand ein funktionierendes Beispiel meines Problems gesehen?

 
aennenbach
16-05-2002, 09:18 
 
Wie es scheint, hat keiner eine Antwort auf mein Problem ... :confused:

Hat wenigstens jemand ein workaround?

- Ist es möglich die Höhe einer Tabellen Zeile zu ermitteln?
- Oder gibt es ein event (Page-Break), das sich abfangen läßt?
- Oder, oder, oder ....?


Wenn ich keine Lösung finde, ist das Projekt leider gestorben ...


Gruß

Achim

 
aennenbach
16-05-2002, 16:51 
 
Im Forum von SelfHTML bin ich auf die Lösung meines Problems gefunden.
Dank an jmagnet!

Also mit folgender Style-Angabe wird alles innerhalb <thead>..</thead> auf jeder auszudruckenden Seite als Header wiederholt (ab IE 5.5)
<style>
@media print
{
THEAD {display: table-header-group}
}</style>
:

Hoffenlich hilft dies auch anderen Hilflosen weiter ;)

Mein Projekt ist jedenfalls gerettet.

Gruß an alle

Achim Ennenbach

 
Titus
17-05-2002, 15:08 
 
Sicher hilft das auch anderen.
Danke fürs Posten der Lösung!


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:58 Uhr.