PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Kalender Daten auslesen


berndt
01.12.2004, 08:54
Ü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:

Mystics
02.12.2004, 19:39
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_%"

berndt
02.12.2004, 21:51
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.)

Mystics
02.12.2004, 22:39
(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']];

berndt
03.12.2004, 16:46
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.

Mystics
03.12.2004, 21:03
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.