Beiträge von Arne Drews

    Ich würde Möglichkeit 4 zuerst testen ;-)


    Du musst keine extra Seite bauen, Du kannst spezielle Stylesheets für die Druckausgabe definieren.
    Wenn dann zum Druckdialog gewechselt wird, wird das Stylesheet automatisch verwendet, anstelle dem "Standard" für die Bildschirmausgabe.


    Bei standardisiertem CSS sollte es möglich sein, die Druckausgabe für alle gängigen Browser akzeptabel gleich zu halten.


    Hier mal ein kurzes Beispiel, im Quelltext kannst Du dann nachsehen, was da passiert: http://examples.php-rocks.de/print-css/
    Das ist allerdings nur eine Möglichkeit...


    Gruß Arne

    Für PostgreSQL kann ich nicht direkt sprechen, aber ich vermute, dass es das kann.
    Die Doku sollte das aber beantworten können.


    Als kleine Hilfe evtl.: In T-SQL erreiche ich das mit einer simplen IF Abfrage innerhalb des Trigger:



    EDIT: Gerade mal hier gefunden: https://stackoverflow.com/ques…-the-columns-have-changed
    Du kannst also NEW und OLD vergleichen:

    Code
    1. IF NEW.column_name <> OLD.column_name THEN
    2. ...
    3. END IF

    Aber wenn die Daten über ein Formular kommen, hast Du doch alle Freiheiten, diese so zu verteilen, dass die wichtigen Prozesse am Ende einfacher werden.
    Ich will Dich nicht von irgendwas abbringen, denke aber weiterhin, dass Du Dir das Leben selber schwer machst ;-)

    Und wenn Du #5 in eine View schmeißt, hilft Dir das nicht?
    Ist nur ne Frage, weil ich da noch nicht hinterblicke, was genau Du am Ende vorhast ;-)


    Was ich verstanden habe ist, dass Du zumindest den Dienstleister für den letzten Eintrag haben willst.
    Dafür wäre übrigens Dein Datenbank-Design auch nicht gut gelöst, wenn ich das sagen darf.


    Gruß Arne

    Kommst Du nicht aber damit auch zum Ziel?


    Warum muss es über Variablen sein?

    • Wäre bei Auftreten eines Fehlers der Fehlertext nicht ganz unwichtig!
    • Warum vergleichst Du einen INTEGER in SingleQuotes?
    • Hast Du schon gewöhnliche UPDATE-Queries probiert, die kann man bspw. schön mit CASE kombinieren

    Hallo,


    Finde ich lobenswert, dass Du Dir das wirklich angesehen und sogar umgesetzt hast!
    Sieht auch soweit ok aus. Ich würde da höchstens noch etwas Übersichtlichkeit rein bringen ( ist aber meine subjektive Auffassung, keine fachliche! ).


    Zunächst mal solltest Du darauf achten, dass Du mit getElementById auch erst auf die Elemente zugreifst, wenn die bereits im DOM vorhanden sind.
    Ein HTML-Dokument wird vom Browser sequentiell aufgebaut, d.h.:

    HTML
    1. <script>console.log( document.getElementById('test') );</script>
    2. <div id="test">something</div>


    würde zu einem undefined oder null führen, wohingegen das hier funktioniert:

    HTML
    1. <div id="test">something</div>
    2. <script>console.log( document.getElementById('test') );</script>


    Nun gibt es unterschiedliche Ansichten, wie man dafür sorgt, dass das Element vor dem Zugriff verfügbar ist.
    Auch in vielen Frameworks wird einfach der Script-Teil ans Ende des Document-Body gesetzt, also vor das </body>.


    Ich persönlich habe meine JS-Scripte nach Möglichkeit immer im <head>-Bereich. Hier muss man dann halt dafür sorgen, dass auf das Laden des Dokumentes gewartet wird.
    Das machen sog. EventListener für uns. Meine JS-Scripte haben immer folgenden Rumpf:

    Code
    1. document.addEventListener( 'DOMContentLoaded', function(e) {
    2. // hier kann mein gesamter JS-Code rein...
    3. });


    Der JS-Code innerhalb des Rumpfes wird erst ausgeführt, wenn das Ereignis ( Event ) eintritt, dass das Dokument komplett aufgebaut ist.
    Ein undefined oder null kann dann nur noch kommen, wenn ich bei der ID einen Schreibfehler habe, es das Element also gar nicht gibt.


    Ok, was Deinen Code angeht, würde ich den evtl. so schreiben ( Variablenbezeichner habe ich so belassen, damit es sich für Dich besser liest ):


    Wenn Du Fragen dazu hast, kannst Du hier gerne fragen.


    Auf jeden Fall gut umgesetzt durch Eigeninitiative und Fleiß!


    Gruß Arne

    Zitat

    ist aber eine einfache Funktion die sich jede Sekunde selbst Aufruft. ist sehr wahrscheinlich sehr stark vereinfacht.

    Nein, eigentlich ist es genau so einfach.
    Schau Dir mal setTimeout() an ( setInterval empfehle ich nicht! ). Du musst halt nur darauf achten, dass Du bei Ablauf von 60s auch die Minuten anpasst.
    Interessant dürfte dann auch die Date-Komponente sein.


    Versuch einfach mal und melde Dich, wenn es Probleme gibt.

    Zitat

    Ja durch den XMLHttpRequest das anzeige was ich dann gefunden habe war das die Jquery benötigt wird.

    Ist aber Quatsch, siehe 2. Link in #2.
    Mit jQuery wird das zwar augenscheinlich ein Einzeiler, aber dafür lädst Du die komplette Library - aktuell in der 3.3.1 Version ~85kB?!
    Das macht gelinde gesagt keinen Sinn...


    Was fehlt Dir denn für die Stoppuhr? Hast Du mal gesucht, wie man das machen könnte?

    Also fehlt Dir im Grunde nur noch die Stoppuhr?


    Zitat

    Funktionert mittels AJAX hier wird die Datei jquery.js benötigt

    Du hast also jQuery nur wegen dem AJAX-Request eingebunden? :shock:


    Zitat

    jetzt benötige ich mal gute Seiten wo ich mich mal einlesen kann.


    https://developer.mozilla.org/en-US/docs/Web/JavaScript


    und nochmal zur Info speziell was AJAX angeht: https://developer.mozilla.org/…uest/Using_XMLHttpRequest

    Das betrifft nicht nur, aus meiner Sicht meldepflichtigen Spam, sondern auch das Kontaktformular? Gehts noch?

    Jo, geht noch... Ist Admin-Sache, da haben Mods keine Aktien drin.


    In letzter Zeit häufen sich die Pornospams. Wenn ihr jemanden braucht, der da mithilft aufzuräumen, lasst es mich wissen.

    Geil! :-D Betrachtet man Deine hochintellektuelle Signatur, erhält das eine unglaubliche Situationskomik...

    Punkt 2 ist logisch!
    Du rufst die CSS über den <link>-Tag auf. Das ist ein Client seitiger Prozess, PHP läuft aber auf dem Server. Zu dem Zeitpunkt ist die index.php also bereits komplett abgearbeitet und beendet.
    Die css.php wird ebenfalls auf dem Server generiert und nur das Resultat an den Browser gesendet. Natürlich kennt die css.php die Variablen nicht mehr, sie sind ja nicht mehr da...


    Zu Punkt 1 müsstest Du dann mal Deine Versuche zeigen, denn da wird irgendein Fehler drin sein.

    Etwas davon stimmt nicht oder Du prüfst nicht richtig. Dein Code 1:1 kopiert funktioniert bei mir einwandfrei ( lediglich $row[0] manuell zu Testzwecken gesetzt):


    Ausgabe:

    Code
    1. * {
    2. font-size: 10px;
    3. }