Hallo zusammen
Irgendwie komme ich nicht ans Ziel.
Evtl. hat ja jemand einen Tipp für mich, wie ich mein Problem am Besten lösen kann.
In einer Datenbank, welche ich nicht verändern kann, sind 4 benötigte Tabellen.
[TERMS]
term_id
name
slug
[TERM_RELATIONSHIP]
object_id
term_taxonomy_id
[POSTS]
ID
post_title
post_status
post_name
[POSTMETA]
meta_id
post_id
meta_key
meta_value
Die Tabellen sind folgendermassen verknüpft:
TERMS.post_id - TERM_RELATIONSHIP.term_taxonomy_id
TERM_RELATIONSHIP.object_id - POSTS.ID
POSTS.ID - POSTMETA.post_id
In den Tabellen sind Einsatzdaten, welche ich auslesen will. Grundsätzlich will ich alle Einsätze auslesen und die nach dem Einsatzdatum sortieren. Soweit ist dies auch kein Problem. Aber....
In der Tabelle POSTMETA und TERMS sind mehrere Werte, welche zu einem einzigen Einsatz gehören.
Das ganze sieht dann etwa so aus:
[POSTS]
ID - 65
post_title - Einsatz 1
post_status - aktiv
post_name - einsatz-1
[POSTMETA]
meta_id - 1
post_id - 65
meta_key - Adresse
meta_value - Musterstrasse
meta_id - 2
post_id - 65
meta_key - DatumZeit
meta_value - 2012-10-26 15:30
meta_id - 3
post_id - 65
meta_key - Ort
meta_value - Musterstadt
[TERMS]
term_id - 1
name - Kategorie 1
slug - kategorie-1
term_id - 2
name - Kategorie 2
slug - kategorie-2
[TERM_RELATIONSHIP]
object_id - 65
term_taxonomy_id - 1
object_id - 65
term_taxonomy_id - 2
Wie kann ich jetzt die Einsatzdaten so auslesen, dass nur aktive Einsätze angezeigt werden und sie nach dem Einsatzdatum sortiert sind? Also in etwa so:
65 | Einsatz 1 | 2012-10-26 15:30 | Kategorie 1 |Bedingung aktiv = ja
66 | Einsatz 2 | 2012-11-15 15:30 | Kategorie 1 |Bedingung aktiv = ja
67 | Einsatz 3 | 2012-11-15 15:35 | Kategorie 2 |Bedingung aktiv = ja
Die restlichen Werte benötige ich erst in der Detailansicht, welche wiederum kein Problem darstellen dürfte. Das kann ich mit mehreren Abfragen lösen und die Einsatzdaten in einer Schleife ausgeben.
Die Anzahl der Datensätze in der Tabelle [POSTMETA] ist für jeden Einsatz identisch.
Grundsätzlich muss ich 3 Abfragemöglichkeiten haben.
Alle Einsätze (jeweils beschränkt auf die letzten 20 Einsätze)
Alle Einsätze aus dem Jahr X
Alle Einsätze aus der Kategorie X
Hat jemand eine Idee, wie ich das umsetzen kann?
Irgendwie komme ich nicht ans Ziel.
Evtl. hat ja jemand einen Tipp für mich, wie ich mein Problem am Besten lösen kann.
In einer Datenbank, welche ich nicht verändern kann, sind 4 benötigte Tabellen.
[TERMS]
term_id
name
slug
[TERM_RELATIONSHIP]
object_id
term_taxonomy_id
[POSTS]
ID
post_title
post_status
post_name
[POSTMETA]
meta_id
post_id
meta_key
meta_value
Die Tabellen sind folgendermassen verknüpft:
TERMS.post_id - TERM_RELATIONSHIP.term_taxonomy_id
TERM_RELATIONSHIP.object_id - POSTS.ID
POSTS.ID - POSTMETA.post_id
In den Tabellen sind Einsatzdaten, welche ich auslesen will. Grundsätzlich will ich alle Einsätze auslesen und die nach dem Einsatzdatum sortieren. Soweit ist dies auch kein Problem. Aber....
In der Tabelle POSTMETA und TERMS sind mehrere Werte, welche zu einem einzigen Einsatz gehören.
Das ganze sieht dann etwa so aus:
[POSTS]
ID - 65
post_title - Einsatz 1
post_status - aktiv
post_name - einsatz-1
[POSTMETA]
meta_id - 1
post_id - 65
meta_key - Adresse
meta_value - Musterstrasse
meta_id - 2
post_id - 65
meta_key - DatumZeit
meta_value - 2012-10-26 15:30
meta_id - 3
post_id - 65
meta_key - Ort
meta_value - Musterstadt
[TERMS]
term_id - 1
name - Kategorie 1
slug - kategorie-1
term_id - 2
name - Kategorie 2
slug - kategorie-2
[TERM_RELATIONSHIP]
object_id - 65
term_taxonomy_id - 1
object_id - 65
term_taxonomy_id - 2
Wie kann ich jetzt die Einsatzdaten so auslesen, dass nur aktive Einsätze angezeigt werden und sie nach dem Einsatzdatum sortiert sind? Also in etwa so:
65 | Einsatz 1 | 2012-10-26 15:30 | Kategorie 1 |Bedingung aktiv = ja
66 | Einsatz 2 | 2012-11-15 15:30 | Kategorie 1 |Bedingung aktiv = ja
67 | Einsatz 3 | 2012-11-15 15:35 | Kategorie 2 |Bedingung aktiv = ja
Die restlichen Werte benötige ich erst in der Detailansicht, welche wiederum kein Problem darstellen dürfte. Das kann ich mit mehreren Abfragen lösen und die Einsatzdaten in einer Schleife ausgeben.
Die Anzahl der Datensätze in der Tabelle [POSTMETA] ist für jeden Einsatz identisch.
Grundsätzlich muss ich 3 Abfragemöglichkeiten haben.
Alle Einsätze (jeweils beschränkt auf die letzten 20 Einsätze)
Alle Einsätze aus dem Jahr X
Alle Einsätze aus der Kategorie X
Hat jemand eine Idee, wie ich das umsetzen kann?
Comment