Archiv verlassen und diese Seite im Standarddesign anzeigen : Kalender Daten auslesen
Über die Admin Area (VB 3.0.3) trage ich 5 globale Feiertage ein.
Mit welchen SQL Befehl kann ich diese Daten (Überschrift + Beschreibung)
auslesen?
Die Daten werden in der Tabelle Phrase gespeichert. Der klassische Join
scheint bei mir nicht zu greifen. :confused:
Beispiel:
Variablenname: test
Titel: Test
Titel & Beschreibung findest du dann in den Phrasen:
holiday_title_test
holiday_event_test
Auslesen z.B. mit:
SELECT text FROM phrase WHERE varname LIKE "holiday_event_%" OR varname LIKE "holiday_title_%"
SELECT text FROM phrase WHERE varname LIKE "holiday_event_%" OR varname LIKE "holiday_title_%"
Verstehe ..., Stringvergleiche wollte ich aus Performance Gründen vermeiden. Scheint aber nicht anders zu gehen.
(Bei Kalender und FAQ hätte man auch anders Normalisieren können.!?
-> Steht bei mir auf dem Wunschzettel für die nächste VB Version.)
(Bei Kalender und FAQ hätte man auch anders Normalisieren können.!?Nein, das ist schon so gut gelöst.
In der calendar.php werden sowieso mehrere Phrasengruppen eingelesen, wodurch man das Ganze auf einfachste Weise auslesen kann: $eventinfo['title'] = $vbphrase['holiday_title_' . $eventinfo['varname']];
$eventinfo['event'] = $vbphrase['holiday_event_' . $eventinfo['varname']];
Nein, das ist schon so gut gelöst.
In der calendar.php werden sowieso mehrere Phrasengruppen eingelesen, wodurch man das Ganze auf einfachste Weise auslesen kann: $eventinfo['title'] = $vbphrase['holiday_title_' . $eventinfo['varname']];
$eventinfo['event'] = $vbphrase['holiday_event_' . $eventinfo['varname']];
Zitat von Mystics
SELECT text FROM phrase WHERE varname LIKE "holiday_event_%" OR varname LIKE "holiday_title_%"
Die ganze Sache funktioniert aber nur, wenn bei jedem neuen Eintrag
in die FAQ oder Kalender gleichartige Variablen benutze.
z.B.
kalender_1
kalender_2
kalender_3
kalender_4
SELECT text FROM phrase WHERE varname LIKE "kalender_%" OR varname LIKE 'kalender_%'
Danach darf ich dann anhand der phrasetypeid Überschrift und
den eigentlichen Text auseinanderklamüseln.
Daher finde ich das ein wenig unglücklich gelöst.
Besser wäre doch:
SELECT kalendertitle.headline, kalendertext.text FROM kalendertitle,kalendertext WHERE kalendertitle.id = kalendertext.id
oder so ähnlich...
Die Abfrage würde doch dadurch einfacher und schneller werden.
Was ich damit meinte, ist, dass es für das Standard-vBulletin gut gelöst ist (wie gesagt, die Phrasen werden sowieso ausgelesen, also kann man diese dann ohne weitere Querys verwenden). Die Programmierer können nicht jede Funktion auch noch an alle etwaigen Änderungen, die ein Kunde machen möchte, anpassen.
vBulletin® v3.7.2, Copyright ©2000-2008, Jelsoft Enterprises Ltd.