Pansensalat: Link drucken und DB-Status verändern

Tach zusammen,

erstmal bitte ich um Nachsicht falls ich nicht im richtigen Themenbereich gepostet habe. Aber irgendwie hätte es (fast) überall gepasst.

Also nun zu meinem Problem:

Es geht um eine Art Vertriebsplattform bei der die User mit kundenspezifischen Daten standardisierte Angebote, Rechnungen etc. erstellen können. Das ganze basiert auf php und einer kleinen sql Datenbank.

Diese Dokumente sollen letztendlich ausgedruckt werden und nach Möglichkeit soll dies nur einmal möglich sein.

Es geht mir darum das ich durch das einmalige anklicken des Links einerseits die Datei zum drucken öffnen und andererseits den Status der Datei im dazugehörigen DB-Eintrag ändern kann.

Vielleicht hat jemand ne Idee wie ich das machen kann ...ich brauch nur nen Ansatz, ich hab gerade echt voll das Brett vorm Kopf.

Gruß

Pansensalat

  1. Hi,

    Diese Dokumente sollen letztendlich ausgedruckt werden und nach Möglichkeit soll dies nur einmal möglich sein.

    Erstens, warum?
    Und zweitens, wer soll mich hindern, im Druckdialog einzustellen, dass ich gleich ein Dutzend Exemplare gedruckt haben möchte, oder gar mir das Dokument auf Platte zu speichern, und mir dann eine hübsche Gewohnheit draus zu machen, es jeden Morgen vor dem Frühstück ein mal auf Papier bringen zu lassen ...?

    Es geht mir darum das ich durch das einmalige anklicken des Links einerseits die Datei zum drucken öffnen und andererseits den Status der Datei im dazugehörigen DB-Eintrag ändern kann.

    Dann ist also der Druckdialog offen, du hast in der Datenbank das Flag gesetzt, dass ich das Dokument nicht noch mal anfordern darf - und dann ist die Tinte in meinem Drucker leer, oder der Strom fällt aus, oder oder oder ...

    Vielleicht hat jemand ne Idee wie ich das machen kann ...

    Vernünftig: Gar nicht.

    ich brauch nur nen Ansatz, ich hab gerade echt voll das Brett vorm Kopf.

    Das Vorhaben ist das Brett.

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Zugegeben meine Formulierung ist wirklich etwas unklar.......ich versuchs nochmal.

      Ich will eine Liste von neu generierten Dateien haben die vom Sachbearbeiter gedruckt werden sollen. Es geht nicht darum die Anzahl der Kopien zu begrenzen sondern zu verhindern das die bereits bearbeitete/gedruckte Datei wieder in der Liste auftaucht. Der Bearbeiter soll einfach seine Liste bearbeiten bis sie leer ist und nicht manuell die entsprechenden Dateien raussuchen müssen.

      Das ganze sollte nach Möglichkeit mit einem Klick passieren.

      1. klicken
      2. drucken
      3. Status ändern
      4. Datei aus Liste verschwinden

      1. Hallo,

        naja, dann gibst du jedem "Dokumenteneintrag" einen Link auf eine weitere PHP Seite mit der eindeutigen Id des Dokuments, und dort in der PHP Seite führst du etwas Sql Code auf deiner DB aus (UPDATE dokumente SET erledigt = 1 WHERE id = $deinedokumentidausdemlink) und lieferst dann das Dokument aus, als Http Response Body mit entsprechendem Mime-Typ und Headern.

        So, jetzt solltest du erstmal genügend Stichworte haben um zu Recherchieren.

        Ciao, Frank

        1. Hallo,

          naja, dann gibst du jedem "Dokumenteneintrag" einen Link auf eine weitere PHP Seite mit der eindeutigen Id des Dokuments, und dort in der PHP Seite führst du etwas Sql Code auf deiner DB aus (UPDATE dokumente SET erledigt = 1 WHERE id = $deinedokumentidausdemlink) und lieferst dann das Dokument aus, als Http Response Body mit entsprechendem Mime-Typ und Headern.

          So, jetzt solltest du erstmal genügend Stichworte haben um zu Recherchieren.

          Ciao, Frank

          Vielen Dank für die Anregungen....es läuft jetzt mit einer Mischung aus Headern und javascript.....ist zwar nicht besonders elegant aber läuft!

          also Danke und bis zum nächsten mal!!

          Gruß Pansensalat

      2. hi,

        Das ganze sollte nach Möglichkeit mit einem Klick passieren.

        1. klicken
        2. drucken
        3. Status ändern
        4. Datei aus Liste verschwinden

        Aufgabe klar und verstanden ;-)

        Ich würde das lokal machen, also den Status in einem Cookie speichern. Ansonsten ist Deine Idee mit soner Liste gar nicht mal so schlecht.

        Hotte

        --
        Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.
      3. Hallo

        Ich will eine Liste von neu generierten Dateien haben die vom Sachbearbeiter gedruckt werden sollen. Es geht [...] darum [...] zu verhindern das die bereits bearbeitete/gedruckte Datei wieder in der Liste auftaucht. Der Bearbeiter soll einfach seine Liste bearbeiten bis sie leer ist und nicht manuell die entsprechenden Dateien raussuchen müssen.

        Das erinnert mich (um einen Vergleich zu finden) an die ungelesen/gelesen-Markierung in einem Emailprogramm.

        1. klicken

        Man benutze die Maus oder die Tastatur. ;-)

        1. drucken

        Den Druck kannst du mit JavaScript auslösen[1]

        1. Status ändern

        JavaScript/Ajax (Speicherung des Status auf dem Server) oder JavaScript-Cookie (Speicherung des Status auf dem lokalen Rechner)

        1. Datei aus Liste verschwinden

        JavaScript

        [1] Man kann den Druck auch über die native Browserfunktion anstoßen. Ob man dieses Ereignis dann mit JavaScript registrieren kann, um die nächsten Aktionen (3. und 4.) auszulösen, weiß ich aber nicht.

        Tschö, Auge

        --
        Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
        Terry Pratchett, "Wachen! Wachen!"
        Veranstaltungsdatenbank Vdb 0.3