Event-Kalender mit SQLite

PHP, CSS und JavaScript lernen. Anwendungen für Webseiten
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin Werner,

mir fällt da noch Folgendes auf:

Gehe ich mit der Maus über die Geburtstage am 09.05.2022 zeigt es heute (am 20.05.2022) an:

"vor 10 Tagen" - das sind aber eigentlich 11 Tage

... nach der Uhrzeit sind es um 4:53 Uhr noch 10 Tage, ist aber optisch komisch - erst nach Event-Beginn um 9:00 Uhr werden dann 11 Tage angezeigt. Da Du aber auch z.B. Stunden errechnest, muss das wohl so bleiben. Habe da mal zum Testen temporär noch einige Uhrzeiten eingetragen:

https://www.mobirise-tutorials.com/Even ... er-SQLite/


Mai 2022.jpg


Klicke ich dann oben auf das Jahr 2023, dann steht da allerdings immer noch "vor 10 Tagen"


Mai 2023.jpg



Diese Berechnung sollte sich doch wohl eher auf die Kalender-Anzeige und nicht auf heute beziehen.

... denn der 09. Mai 2023 ist ja nicht vor 10 Tagen sondern in 355 Tagen.

... und wieso wird diese Berechnung nur für Einträge mit Uhrzeit vorgenommen und nicht für alle Events - das finde ich nicht ganz logisch.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

off topic :angst:

Gucke mal Werner (vielleicht interessiert es Dich) - habe ich eben zufällig gefunden - ein Programm zur Berechnung des u.a. beweglichen Osterfestes, das ich im dBASE in den 80igern programmiert und wohl zuletzt 1999 geändert hatte :D

Code: Alles auswählen

*** 22.12.99 *** OSTERN.PRG *** Berechnung der Feiertage
*** Aufrufende Programme : JAHRENDE.PRG / KALENDEM.PRG / KALENDER.PRG
*** Jahr 2000 abgeschlossen

*-- diese Zahlen wiederholen sich alle 19 Jahre
*-- die Zahlen 14 - 3 - usw. betreffen das Tagesdatum des 1. Frühlings-Vollmond nach dem 21. März
O0=14
O1=3
O2=23
O3=11
O4=31
O5=18
O6=8
O7=28
O8=16
O9=5
O10=25
O11=13
O12=2
O13=22
O14=10
O15=30
O16=17
O17=7
O18=27

IF Feierruf=0                          && JAHRENDE.PRG Variablen setzen
   mjahr=YEAR(DATE())
   mjahr=LTRIM(STR(mjahr))
   ojahr=VAL(mjahr)
ENDIF

ojahr=ojahr/19-INT(ojahr/19)           && INT errechnet welche der obigen 19 Daten benutzt wird
ojahr=ROUND(ojahr*19,0)

IF ojahr<=9                            
   ojahr="O"+str(ojahr,1)
   ELSE
   ojahr="O"+str(ojahr,2)
ENDIF

DO CASE
   CASE &ojahr<=9
   odat="0"+STR(&ojahr,1)
   OTHERWISE
   odat=STR(&ojahr,2)
ENDCASE

DO CASE
   CASE &ojahr<19                      && wenn kleiner als 19 ist der Frühlings-Vollmond im April
   RMONAT="04"
   OTHERWISE
   RMONAT="03"                         && sonst ist es der März
ENDCASE

*-- Erster Frühlings-Vollmond wird errechnet für die Bestimmung vom Ostersonntag
FRLV=STR(&ojahr)+"."+RMONAT+"."+mjahr
FRLV=CTOD(FRLV)

*-- Neujahr
NEUJX=CTOD("01.01."+mjahr)

*-- Maifeiertag
MAIFX=CTOD("01.05."+mjahr)

*-- Ostersonntag + Ostermontag
OST1X=DOW(FRLV)

IF OST1X>1                             && Errechnung der Differenz-Tage vom Frühlings-Vollmondes zum Ostersonntag
   Tagsuche=8-OST1X
   OST1X=FRLV+Tagsuche
   *-- Ostermontag
   OST2X=OST1X+1
   ELSE
   OST1X=FRLV+7
   *-- Ostermontag
   OST2X=OST1X+1
ENDIF

*-- Karfreitag
KARFX=OST1X-2

*-- Christi Himmelfahrt
HIMMX=OST1X+39

*-- Pfingstsonntag
PFI1X=OST1X+49
*-- Pfingstmontag
PFI2X=OST1X+50

*-- Tag der deutschen Einheit wurde nach der Wiedervereinigung ab 1990 umgesetzt
IF VAL(mjahr)<1990
   DEUTX=CTOD("17.06."+mjahr)
   ELSE
   DEUTX=CTOD("03.10."+mjahr)          && ab 1990 ist es der 03. Oktober
ENDIF

*-- Buß- und Bettag  ( kann keiner verstehen - muss man noch mal darüber nachdenken )
*-- wurde in Berlin mit dem Jahr 1995 abgeschafft
IF VAL(mjahr)<1995
   BUST=CTOD("01.11."+mjahr)
   BUST=DOW(BUST)
   DIFF=4-BUST
   IF DIFF<=0
      DIFF=DIFF+7+15
      ELSE
      DIFF=DIFF+15
   ENDIF
   DIFF=STR(DIFF,2)
   BUSTX=CTOD(DIFF+".11."+mjahr)
   ELSE
   BUSTX=CTOD("  .  .  ")
ENDIF

*-- Weihnachten
WEI1X=CTOD("24.12."+mjahr)
WEI2X=CTOD("25.12."+mjahr)
WEI3X=CTOD("26.12."+mjahr)

*-- Silvester
SYLVX=CTOD("31.12."+mjahr)

IF Feierruf=0                          && JAHRENDE.PRG, sonst =1 (KALENDEM.PRG/KALENDER.PRG)
   SET SAFETY OFF
   SAVE ALL LIKE ????X* TO FEIERTAG
   SET SAFETY ON
ENDIF

RETURN


Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Tommy Herrmann hat geschrieben: Fr 20. Mai 2022, 04:53 ... und wieso wird diese Berechnung nur für Einträge mit Uhrzeit vorgenommen und nicht für alle Events - das finde ich nicht ganz logisch.
Die Events ohne eine Angabe einer Uhrzeit stehen auf 0:00, damit ist dann keine Berechnung möglich. Es würde dann ein falsches Ergebnis angezeigt werden.
... nach der Uhrzeit sind es um 4:53 Uhr noch 10 Tage, ist aber optisch komisch - erst nach Event-Beginn um 9:00 Uhr werden dann 11 Tage angezeigt.
Richtig, erst wenn die Stunden, Minuten und Sekunden überschritten sind, dann wird ein voller Tag dazugezählt.

Vielen Dank für das dBASE Script, in PHP gibt es eine ähnliche Schreibweise mi: If, endif, while
, endwhile, besser ist es aber die geschweiften Klammern (Bracktes) zu verwenden, sonst wird ein Programm schnell unübersichtlich.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

ja aber - es bleibt immer noch das Problem, wenn ich den 09.05.2023 (in einem Jahr) wähle, dann zeigt es immer noch an "vor 11 Tagen".
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Ganz klar, bei einem "Festtag" funktioniert das natürlich nicht!
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

... mir ist es noch nicht ganz klar warum das nicht gehen sollte (müsste mir wohl auch mal die Skripte genau angucken), da gibt es doch noch das Jahr ...

Auf jeden Fall geht ein normaler Eintrag, wie ich jetzt am 01. Januar 2023 getestet habe :tu:

... habe gerade noch mit einer Freundin gegrillt. Gleich kommt das Gewitter und der große Regen :angst:
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Bei uns war es schwarz wie die Nacht, aber kein Regen oder Blitz und Donner!
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Bin gerade nur noch am Handy.

Ich hatte mal "Microsoft Teams" getestet und Dir eine Nachricht geschickt. Hast Du das erhalten?

:nachti:
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

habe gerade gesehen, dass Du die Änderungen vom 19.05.2022 (Berechnung der Differenz-Zeit) wieder entfernt hast?! Ich habe das angepasst ...
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Moin Tommy,
Microsoft Teams habe ich nicht aktiviert, mit wem soll ich denn da ein Team bilden. Um Bilder von Sonnenaufgängen zu senden, reicht WhatsApp auch ;)
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Tommy Herrmann hat geschrieben: Sa 21. Mai 2022, 06:08 Moin,

habe gerade gesehen, dass Du die Änderungen vom 19.05.2022 (Berechnung der Differenz-Zeit) wieder entfernt hast?! Ich habe das angepasst ...
Die Angabe war mir doch zu ungenau, wenn diese mehr als ein Jahr vergangen war; "vor 1 Jahr, vor 2 Jahren"
Besser wäre eine Funktion gewesen wie zb. "Vor einem Jahr, 3 Monaten und 12 Tagen"
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Werner-Zenk.de hat geschrieben: Sa 21. Mai 2022, 11:29 Microsoft Teams habe ich nicht aktiviert, mit wem soll ich denn da ein Team bilden.
nee klar - dachte Du bekommst eine Nachricht (kenne mich mit "Teams" gar nicht aus), da Du als einziger meiner Kontakte dort als angemeldet angezeigt wurdest wollte ich das mal testen.

Ich habe mich jetzt aber auch wieder abgemeldet - ich denke mal das ist eher etwas zum Chatten für Gruppen einer Firma oder so ...
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Hallo Tommy,
ich habe eine neue Version des Event-Kalenders online gestellt.
Hauptsächlich sind da Verbesserungen im Bereich JavaScript gemacht worden. Und (wie immer) habe ich am Design geschraubt :D
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Hallo Werner,

danke Dir für die Info.

Ich kann da erst morgen mal gucken, da ich noch Besuch zum Grillen habe :grillen
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

Moin,

kleine Änderungen - finde ich gut :eek: - ist ja fast alles neu :D

... habe die Version vom 04.06.2022 übernommen:

https://www.mobirise-tutorials.com/Even ... er-SQLite/
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Irgendwie hat sich in der DB-Tabelle eine Spalte mit dem Namen "test" eingeschlichen. Ich wüsste nicht das ich in letzter Zeit Experimente durchgeführt hätte :confused:
Ist mir nur zufällig aufgefallen als ich die Datensätze mit dem Prog. "DB Browser for SQLite" betrachtet habe.
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

ups - da ich diese SQLite-Datenbank ja nie öffne, ist mir das auch nicht aufgefallen :angst:

Ich habe ja meine bereits auf eine gewisse Größe angewachsene eigene Datenbank und hoffe nur immer, dass Du da nichts änderst...
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Ich wüsste nicht, wozu ich eine DB-Spalte hinzufügen sollte, habe lange überlegt und mich beim anderen Kalender umgeschaut. Auch eine Suchfunktion oder irgendwelche Filter wird es nicht geben. Machbar wäre es, aber viel zu kompliziert umzusetzen.
Ich stecke meine Aufmerksamkeit lieber auf die Optimierung des JavaScript, CSS und PHP-Quellcodes, damit kann ich mehr erreichen und lerne eventuell noch etwas dazu ;)
Benutzeravatar
Tommy Herrmann
Site Admin
Site Admin
Beiträge: 5744
Registriert: So 6. Dez 2020, 07:37
Wohnort: Berlin
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Tommy Herrmann »

ja - und ich gleich mit. Ich beobachte die Änderungen messerscharf und bin manchmal schon sehr erstaunt, wie akribisch Du da vorgehst.
Benutzeravatar
Werner-Zenk.de
Mitglied (Level 10)
Mitglied (Level 10)
Beiträge: 755
Registriert: Di 8. Dez 2020, 19:42
Wohnort: Bamberg
Kontaktdaten:

Re: Event-Kalender mit SQLite

Ungelesener Beitrag von Werner-Zenk.de »

Neue Version.
Events können mit der Tabulatortaste ausgewählt werden.

Anstatt der <div>-Tags habe ich <button> verwendet und mit CSS angepasst, schon hat es mit der Tabulatortaste funktioniert.
... und bin manchmal schon sehr erstaunt, wie akribisch Du da vorgehst.
Vor allem wenn da HTML, CSS und JavaScript miteinander verbunden sind, ist es wichtig alles akribisch zu machen. Ich versuche eine gewisse logische Struktur in die Skripte zu bringen, habe gerade erst die Kommentare in der CSS-Datei überarbeitet.
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 17 Gäste