Seite 11 von 23
Re: Event-Kalender mit SQLite
Verfasst: Do 17. Feb 2022, 04:17
von Tommy Herrmann
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.
Re: Event-Kalender mit SQLite
Verfasst: Fr 18. Feb 2022, 16:30
von Werner-Zenk.de
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?
Re: Event-Kalender mit SQLite
Verfasst: Fr 18. Feb 2022, 17:00
von Tommy Herrmann
oh - sorry - ja "
Alt + Umschalt + Unterstrichener-Buchstabe" geht - ich hatte das immer nur mit "Alt + Buchstabe" versucht

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 06:03
von Werner-Zenk.de
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.
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 06:13
von Tommy Herrmann
ah - OK - gute Idee - mache ich gleich doch mal ...
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 06:20
von Werner-Zenk.de
Die Idee hatte ich schon letzte Woche, nur ist mir kein passender Name für die Option eingefallen.
Jährliche Wiederholung
war einfach zu lang

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 07:05
von Tommy Herrmann
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 07:38
von Tommy Herrmann
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

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 10:05
von Tommy Herrmann
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 ...
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 10:19
von Tommy Herrmann
Ist das so richtig:
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>
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 10:37
von Werner-Zenk.de
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");
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 10:44
von Tommy Herrmann
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 ...
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 10:51
von Tommy Herrmann
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 11:24
von Werner-Zenk.de
Gefällt mir

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 11:38
von Tommy Herrmann
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.
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 12:57
von Werner-Zenk.de
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!
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 13:49
von Tommy Herrmann
... 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:
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);
}
P.S.
Habe wieder alles rückgängig gemacht, da sonst die Anzeigen falsch sind

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 14:56
von Werner-Zenk.de
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] ...
Ich weiß nicht, was PHP-Code zwischen <script>-Tags zu suchen hat

Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 16:03
von Tommy Herrmann
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.
Re: Event-Kalender mit SQLite
Verfasst: So 20. Feb 2022, 17:22
von Werner-Zenk.de
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.
Das passt schon so, danach kommt ja nix mehr, kein HTML und keine Textausgabe.
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
