Daniel1976: Drucken einzelner Tabellenreihen

Hallo,

ich habe eine CSV Datei über PHP eingelesen und lasse mir diese in einer HTML Tabelle im Browser anzeigen.

Es handelt sich bei jedem Datensatz um 8 Felder.
Wenn der Datensatz durch ist, wird ein Zeilenumbruch gemacht und es kommt der nächste Datensatz direkt darunter.

So sieht die Tabelle aus:

TEXT1 - Feld1
...
TEXT8 - Feld8

dann kommt der nächste DS. Text1-8 sind vorgegebene Texte, die einfach nur in einer Spalte davor angezeigt werden.

Nun habe ich einen Button Drucken gemacht, der mit Windows.print() alle Datensätze ausdruckt.

Alle Datensätze landen in einem DIV-Container, der über @Media Print in der CSS berücksichtigt und bearbeitet wird.

Nun möchte ich aber nur bestimmte Datensätze drucken.

Idee1)
Checkboxen installieren und diese beim Drucken abfragen.
Ich bin kein Experte und weiß nicht, ob das überhaupt geht.

Idee2)
In jeder Reihe eine weitere Spalte mit eigenem Druckbuttom einfügen und dann nur den aktuellen Datensatz drucken.
Auch hier habe ich keine Funktion gefunden, die nur bestimmte Teile der Tabelle ausdruckt.

Kann mir jemand etwas helfen?

Gruß Daniel

  1. Hallo,

    Nun habe ich einen Button Drucken gemacht, der mit Windows.print() alle Datensätze ausdruckt.

    windows.print ist nur ein JS-Aufruf des Druckenmenus des Browsers. Ergo müsstest Du eine Seite erstellen, auf der nur zu sehen ist, was du drucken möchtest.

    Viele Grüße
    Siri

    1. Hallo Siri,

      meinst Du ich sollte über Checkboxen die gewünschten Tabellen auswählen und mir dann in einer neuen Seite anzeigen lassen?

      Bzw. ich habe ja ein PHP-Array. Könnten man die gewünschten Tabellen in ein weiteres Array schreiben und entsprechend auf einer neuen Seite dieses Array2 abarbeiten um sich so die Datensätze aus Array1 nochmal neu anzeigen zu lassen?

      Gruß Daniel

      1. Hallo,

        meinst Du ich sollte über Checkboxen die gewünschten Tabellen auswählen und mir dann in einer neuen Seite anzeigen lassen?

        Bzw. ich habe ja ein PHP-Array. Könnten man die gewünschten Tabellen in ein weiteres Array schreiben und entsprechend auf einer neuen Seite dieses Array2 abarbeiten um sich so die Datensätze aus Array1 nochmal neu anzeigen zu lassen?

        Das geht in die richtige Richtung, wobei es natürlich unschön ist, was aber in der Natur der Sache liegt. Den Ansatz von Kai finde ich auch interresant.
        Den nicht auszudruckenden Tabellen(über Chckbox auswählen) per Javascript die Klasse "noprint" oder so zuweisen, und diesen Selektor in @media mit display: none; setzen. Dann sollten wirklich nur die ausgedruckt werden, die der Anwender möchte.

        Viele Grüße
        Siri

  2. Hallo Daniel,

    Nun möchte ich aber nur bestimmte Datensätze drucken.

    und wenn du zB. bestimmte Datensätze mit einer css.noPrint bei Drucken auf display:none setzt.

    lg kai

    1. Hallo Kai,

      ich habe nur einen DIV in dem dann mehrere Tabellen hintereinander abgelegt sind.

      Den DIV mit CSS abfangen wäre kein Problem, aber wie komme ich an einzelne Tabellen ran?

      Desweiteren ist die Anzahl der Tabellen dynamisch. Es kann sich zwischen 1 und ca. 20 Stück verändern.

      GRuß Daniel