Event-Kalender mit SQLite
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Moin Werner,
ja genau - das ist ja das Problem, wenn das Bild nicht via CSS zentriert wird - und gerade dann, wenn es eine optische Mitte hat. Dann ist eben ein mittig aufgenommenen Objekt, mit den anderen Seitenverhältnissen am Handy, gar nicht mehr mittig.
Am Desktop stelle ich z.B. die Monatsbilder auf einer Breite von ca. 1290px dar. Die Höhe ist mit 175px angegeben. Am Handy verringert sich diese Breite nun auf 360px, also auf knapp 30% der Originalbreite, bleibt aber in der Höhe gleich bei 175px.
Daher wird, wenn das Bild nicht mittels CSS zentriert angezeigt wird, es um ca. 2/3 der Bildbreite nach rechts raus geschoben, denn es wird über den linken Rand des Bildes mittels "cover" an die Seitenverhältnisse angepasst. Daher ist es eigentlich zwingend notwendig die Bilder zu zentrieren und auch die Höhe am Handy zu verringern, da sonst eben ein zu großer Teil des Bildes einseitig abgeschnitten wird.
Natürlich kommt es letztendlich auch auf das Bild selbst an, ob die Darstellung am Handy eben aussieht oder nicht.
ja genau - das ist ja das Problem, wenn das Bild nicht via CSS zentriert wird - und gerade dann, wenn es eine optische Mitte hat. Dann ist eben ein mittig aufgenommenen Objekt, mit den anderen Seitenverhältnissen am Handy, gar nicht mehr mittig.
Am Desktop stelle ich z.B. die Monatsbilder auf einer Breite von ca. 1290px dar. Die Höhe ist mit 175px angegeben. Am Handy verringert sich diese Breite nun auf 360px, also auf knapp 30% der Originalbreite, bleibt aber in der Höhe gleich bei 175px.
Daher wird, wenn das Bild nicht mittels CSS zentriert angezeigt wird, es um ca. 2/3 der Bildbreite nach rechts raus geschoben, denn es wird über den linken Rand des Bildes mittels "cover" an die Seitenverhältnisse angepasst. Daher ist es eigentlich zwingend notwendig die Bilder zu zentrieren und auch die Höhe am Handy zu verringern, da sonst eben ein zu großer Teil des Bildes einseitig abgeschnitten wird.
Natürlich kommt es letztendlich auch auf das Bild selbst an, ob die Darstellung am Handy eben aussieht oder nicht.
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Moin Tommy,
ich werde diese Einstellung auch übernehmen: 50% 50% / center center;
klar muss das dann jeder selbst für die eigenen Bilder anpassen. Es kann ja
sein das jemand sein Logo oben in die linke Bildhälfte eingefügt hat, und dieses immer mit angezeigt werden soll.
Ich habe es gerade noch einmal im Firefox getestet, ALT + Umschalt + D müsste den Kalender anzeigen:
k.a. warum es bei dir nicht funktioniert?
ich werde diese Einstellung auch übernehmen: 50% 50% / center center;
klar muss das dann jeder selbst für die eigenen Bilder anpassen. Es kann ja
sein das jemand sein Logo oben in die linke Bildhälfte eingefügt hat, und dieses immer mit angezeigt werden soll.
Ich habe es gerade noch einmal im Firefox getestet, ALT + Umschalt + D müsste den Kalender anzeigen:
k.a. warum es bei dir nicht funktioniert?
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
oh - sorry - ja "Alt + Umschalt + Unterstrichener-Buchstabe" geht - ich hatte das immer nur mit "Alt + Buchstabe" versucht
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Moin Tommy,
es gibt eine neue Version.
Checkbox (Festtag) - Ein fester Tag im Jahr, für Geburtstage, Feiertage etc. (optional).
Die Spalte festtag ist neu in die DB-Tabelle hinzugekommen.
Die Spalte ist ähnlich wie die Spalte privat mit den Werten 0 oder 1 belegt.
es gibt eine neue Version.
Checkbox (Festtag) - Ein fester Tag im Jahr, für Geburtstage, Feiertage etc. (optional).
Die Spalte festtag ist neu in die DB-Tabelle hinzugekommen.
Die Spalte ist ähnlich wie die Spalte privat mit den Werten 0 oder 1 belegt.
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
ah - OK - gute Idee - mache ich gleich doch mal ...
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Die Idee hatte ich schon letzte Woche, nur ist mir kein passender Name für die Option eingefallen.
Jährliche Wiederholungwar einfach zu lang
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Werner,
Ich hätte da noch eine Frage.
Wenn ich eine neue Spalte in der Datenbank hinzufüge (wie jetzt "festtage"), dann steht ja als Wert zunächst "null" dort in der Spalte, den ich ja dann mit dem Wert "0" ersetzen muss.
Wie macht man das, dass man alle Felder auf einmal ersetzt?
Meine Datenbank ist ja inzwischen ganz schön angewachsen und ich habe so 80 Einträge dann einzeln mit "0" bestückt
Ich hätte da noch eine Frage.
Wenn ich eine neue Spalte in der Datenbank hinzufüge (wie jetzt "festtage"), dann steht ja als Wert zunächst "null" dort in der Spalte, den ich ja dann mit dem Wert "0" ersetzen muss.
Wie macht man das, dass man alle Felder auf einmal ersetzt?
Meine Datenbank ist ja inzwischen ganz schön angewachsen und ich habe so 80 Einträge dann einzeln mit "0" bestückt
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Hallo Werner,
habe gerade erst Dein Skript "Events der nächsten Tage anzeigen" entdeckt und hier mal ausprobiert:
https://www.mobirise-tutorials.com/Even ... zeigen.php
(Datei wird wieder gelöscht)
Eigentlich müsste da der BBCode noch entfernt sein oder eben auch wirken - oder meinst Du nicht?
... ich würde das nämlich ganz gerne mit einbauen ...
habe gerade erst Dein Skript "Events der nächsten Tage anzeigen" entdeckt und hier mal ausprobiert:
https://www.mobirise-tutorials.com/Even ... zeigen.php
(Datei wird wieder gelöscht)
Eigentlich müsste da der BBCode noch entfernt sein oder eben auch wirken - oder meinst Du nicht?
... ich würde das nämlich ganz gerne mit einbauen ...
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Ist das so richtig:
https://www.mobirise-tutorials.com/Even ... bbcode.php
(Datei wird wieder gelöscht)
https://www.mobirise-tutorials.com/Even ... bbcode.php
(Datei wird wieder gelöscht)
Code: Alles auswählen
<?php
// Event-Kalender mit SQLite
// Events der nächsten 31 Tage (individuell einstellbar).
include "kalender.php"; // Dateipfad eventuell anpassen
$tage = 90; // Tage
$select = $db->query("SELECT `datum`, `event`, `beschreibung`
FROM `kalender`
WHERE (julianday(`datum`) - julianday('now')) >= 0 AND (julianday(`datum`) - julianday('now')) <= " . $tage . "
ORDER BY `datum` ASC");
$events = $select->fetchAll();
foreach ($events as $event) {
sscanf($event["datum"], "%4s-%2s-%2s %5s", $dbJahr, $dbMonat, $dbTag, $dbUhr);
echo '<p>' . $dbTag . '.' . $dbMonat . '.' . $dbJahr . ' ' . $dbUhr . ' Uhr - ' .
$event["event"] . '<br>' . textFormatierung($event["beschreibung"]) . '</p>';
}
?>
<script>
// Text formatieren
function textFormatierung($txt) {
$txt = htmlspecialchars($txt);
$txt = preg_replace_callback('#(( |^)(((http|https|)://)|www.)\S+)#mi', 'linkUmwandeln', $txt);
$txt = preg_replace('/\[b\](.*)\[\/b\]/Uism', '<b>$1</b>', $txt); // [b]
$txt = preg_replace('/\[i\](.*)\[\/i\]/Uism', '<i>$1</i>', $txt); // [i]
$txt = preg_replace('/\[s\](.*)\[\/s\]/Uism', '<s>$1</s>', $txt); // [s]
$txt = preg_replace('/\[q\](.*)\[\/q\]/Uism', '<q>$1</q>', $txt); // [q]
$txt = preg_replace('/\[u\](.*)\[\/u\]/Uism', '<u>$1</u>', $txt); // [u]
$txt = preg_replace('/\[c=(.*)\](.*)\[\/c\]/Uism', '<span style=\'color:$1\'>$2</span>', $txt); // [c=#FF0000] [c=green]
$txt = preg_replace('/\[bc=(.*)\](.*)\[\/bc\]/Uism', '<span style=\'background:$1\'>$2</span>', $txt); // [bc=#FF0000] [bc=green]
$txt = preg_replace('/\[center\](.*)\[\/center\]/Uism', '<div style="text-align:center;">$1</div>', $txt); // [center]
$txt = preg_replace('/\[img=(.*)\](.*)\[\/img\]/Uism', '<figure><img src="$1" title="$2" alt="$2"><figcaption>$2</figcaption></figure>', $txt); // [img=url]
$txt = preg_replace('/\[video=(.*)\](.*)\[\/video\]/Uism', '<figure><video controls><source src="$1"></video><figcaption>$2</figcaption></figure>', $txt); // [video=url]
$txt = preg_replace('/\[youtube=(.*)\](.*)\[\/youtube\]/Uism', '<figure><iframe width="100%" height="360" src="https://www.youtube.com/embed/$1"></iframe><figcaption>$2</figcaption></figure>', $txt); // [youtube=ID] EDIT von Tommy
$txt = preg_replace('/\[url=(.*)\](.*)\[\/url\]/Uism', '<a href="$1" style="text-decoration: underline;" class="text-primary" target="_blank">$2</a>', $txt); // [url] EDIT von Tommy
return nl2br($txt, false);
}
// Link umwandeln - EDIT Tommy style="text-decoration: underline;" und class="text-primary"
function linkUmwandeln($hit) {
$url = trim($hit[1]);
if ((substr($url, 0, 7) != 'http://') && (substr($url, 0, 8) != 'https://')) {
$url = "http://" . $url;
}
return ' <a href="' . $url . '" style="text-decoration: underline;" class="text-primary" target="_blank" rel="noopener">' . $url . '</a>';
}
</script>
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Bis auf den Code der zwischen <script></script> steht!
Füge da noch ein AND `privat` = 0 ein:
$select = $db->query("SELECT `datum`, `event`, `beschreibung`
FROM `kalender`
WHERE (julianday(`datum`) - julianday('now')) >= 0 AND (julianday(`datum`) - julianday('now')) <= " . $tage . "
AND `privat` = 0
ORDER BY `datum` ASC");
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Ich werde das Script mit den Funktionen in Mobirise an das Ende vom <body> packen.
Wieso wird das sonst bei mir in der PHP-Datei mit angezeigt, das wird es doch in der Datei "kalender.php" auch nicht - ich glaube ich denke gerade dumm ...
Wieso wird das sonst bei mir in der PHP-Datei mit angezeigt, das wird es doch in der Datei "kalender.php" auch nicht - ich glaube ich denke gerade dumm ...
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
darf das <p> nicht um ein <figure> Tag </figure> </p> stehen?
Der Quellcode meckert "verlorenes </p> End-Tag" - aus dem PHP-Skript zur Event-Anzeige.
Der Quellcode meckert "verlorenes </p> End-Tag" - aus dem PHP-Skript zur Event-Anzeige.
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
The figure element represents some flow content, optionally with a caption, that is self-contained (like a complete sentence) and is typically referenced as a single unit from the main flow of the document.
Ich denke das liegt eher am iframe-Element!
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
... also so geht es und der Fehler wird nun nicht mehr angezeigt.
Es war zum einen das <div> bei "center" - habe ich als <span> gesetzt und das geht nicht - sollte dann wohl ein <p> werden ...
... und sowohl <figure> und <figcaption> - habe ich komplett entfernt (macht sowieso nichts, was ich nachvollziehen könnte)
In Datei kalender.php sieht das bei mir nun so aus:
P.S.
Habe wieder alles rückgängig gemacht, da sonst die Anzeigen falsch sind
Es war zum einen das <div> bei "center" - habe ich als <span> gesetzt und das geht nicht - sollte dann wohl ein <p> werden ...
... und sowohl <figure> und <figcaption> - habe ich komplett entfernt (macht sowieso nichts, was ich nachvollziehen könnte)
In Datei kalender.php sieht das bei mir nun so aus:
Code: Alles auswählen
// Text formatieren
function textFormatierung($txt) {
$txt = htmlspecialchars($txt);
$txt = preg_replace_callback('#(( |^)(((http|https|)://)|www.)\S+)#mi', 'linkUmwandeln', $txt);
$txt = preg_replace('/\[b\](.*)\[\/b\]/Uism', '<b>$1</b>', $txt); // [b]
$txt = preg_replace('/\[i\](.*)\[\/i\]/Uism', '<i>$1</i>', $txt); // [i]
$txt = preg_replace('/\[s\](.*)\[\/s\]/Uism', '<s>$1</s>', $txt); // [s]
$txt = preg_replace('/\[q\](.*)\[\/q\]/Uism', '<q>$1</q>', $txt); // [q]
$txt = preg_replace('/\[u\](.*)\[\/u\]/Uism', '<u>$1</u>', $txt); // [u]
$txt = preg_replace('/\[c=(.*)\](.*)\[\/c\]/Uism', '<span style=\'color:$1\'>$2</span>', $txt); // [c=#FF0000] [c=green]
$txt = preg_replace('/\[bc=(.*)\](.*)\[\/bc\]/Uism', '<span style=\'background:$1\'>$2</span>', $txt); // [bc=#FF0000] [bc=green]
$txt = preg_replace('/\[center\](.*)\[\/center\]/Uism', '<span style="text-align:center;">$1</span>', $txt); // [center]
$txt = preg_replace('/\[img=(.*)\](.*)\[\/img\]/Uism', '<img src="$1" title="$2" alt="$2">$2', $txt); // [img=url]
$txt = preg_replace('/\[video=(.*)\](.*)\[\/video\]/Uism', '<video controls><source src="$1"></video>$2', $txt); // [video=url]
$txt = preg_replace('/\[youtube=(.*)\](.*)\[\/youtube\]/Uism', '<iframe width="100%" height="360" src="https://www.youtube.com/embed/$1"></iframe>$2', $txt); // [youtube=ID] EDIT von Tommy
$txt = preg_replace('/\[url=(.*)\](.*)\[\/url\]/Uism', '<a href="$1" style="text-decoration: underline;" class="text-primary" target="_blank">$2</a>', $txt); // [url] EDIT von Tommy
return nl2br($txt, false);
}
Habe wieder alles rückgängig gemacht, da sonst die Anzeigen falsch sind
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Code: Alles auswählen
<!-- BBCode to display -->
<script>
// Text formatieren
function textFormatierung($txt) {
$txt = htmlspecialchars($txt);
$txt = preg_replace_callback('#(( |^)(((http|https|)://)|www.)\S+)#mi', 'linkUmwandeln', $txt);
$txt = preg_replace('/\[b\](.*)\[\/b\]/Uism', '<b>$1</b>', $txt); // [b]
$txt = preg_replace('/\[i\](.*)\[\/i\]/Uism', '<i>$1</i>', $txt); // [i] ...
Werner
https://werner-zenk.de
https://werner-zenk.de
- Tommy Herrmann
- Site Admin
- Beiträge: 5922
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Event-Kalender mit SQLite
oh - was habe ich denn da gemacht???
Ich bin gerade nicht zu Hause. Warum fehlt in Deiner Datei "kalender.php" das schließende Tag
?>
... oder was ist da passiert.
Ich muss nachher gucken.
Ich bin gerade nicht zu Hause. Warum fehlt in Deiner Datei "kalender.php" das schließende Tag
?>
... oder was ist da passiert.
Ich muss nachher gucken.
- Werner-Zenk.de
- Mitglied (Level 10)
- Beiträge: 755
- Registriert: Di 8. Dez 2020, 19:42
- Wohnort: Bamberg
- Kontaktdaten:
Re: Event-Kalender mit SQLite
Das passt schon so, danach kommt ja nix mehr, kein HTML und keine Textausgabe.Tommy Herrmann hat geschrieben: ↑So 20. Feb 2022, 16:03 Warum fehlt in Deiner Datei "kalender.php" das schließende Tag
?>
... oder was ist da passiert.
Ein schließender Tag erzeugt immer einen Zeilenumbruch bei der Ausgabe. Wenn eine Session oder eine Weiterleitung mit header("Location: ...") aufgerufen wird, darf zuvor nichts an den Browser gesendet werden (kein einziger Zeilenumbruch). Ansonsten würde die Session nicht gesetzt werden und eine Weiterleitung würde nicht stattfinden.
Ich habe erst gestern entdeckt das es eine read_me.txt Datei gibt
Translated by Thomas Frei-Herrmann
Werner
https://werner-zenk.de
https://werner-zenk.de
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste