MySql-Abfrage für Terminplan
am 27.04.2006 17:48:13 von Philipp Wabinski
Hallo Zusammen,
mein Problem ist das folgende:
Spalten von termine Termine:
uid date_start market ...
Bei einem Neueintrag wird der Unixzeitstempel für das Startdatum gespeichert
und der Eintrag bekommt eine id.
Da hier nur der Tag gespeichert wird und mehrere Einträge für einen Tag
existieren können, sortiere ich die Einträge zusätzlich aufsteigend nach der
uid. Da ich die Ausgabe der Termine auf 5 begrenze, kann es ja vorkommen das
in der aktuellen abfrage nur 2 von insgesamt 3 Einträgen angezeigt werden,
die das gleiche Datum haben. Wenn für die Folgeseite dann die folgende
Abfrage mache:
SELECT uid, date_start, market FROM user_ontour_dates WHERE date_start > =
'1154642400' ORDER BY date_start ASC, uid ASC LIMIT 6
(1154642400 = Zeitstempel des ersten Eintrages aus dieser Abfrage)
bekomme ich ja die auch die zwei älteren Einträge.
Hat vielleicht jemand eine Idee, wie ich die Ausgabe dieser beiden Einträge
verhindern kann? Besteht vielleicht die Möglichkeit die Abfrage so zu
gestalten, dass er bei Einträgen die den Angegeben Zeitsempel haben, nur die
die auswählt, deren uid größer ist, als $x?
Ich bin für jeden Ansatz dankbar.
Grüße Philipp
Re: MySql-Abfrage für Terminplan
am 27.04.2006 18:59:14 von Philipp Wabinski
Ich hab schon eine Lösung gefunden.
Wenn ich quasi eine xor Anweisung benutze kann ich die gewünschten
Ergebnisse ausklammern.
Sieht dann so aus:
SELECT uid, date_start, market FROM user_ontour_dates WHERE (date_start >=
'1154642400' AND uid > '17') OR (date_start > '1154642400') ORDER BY
date_start ASC, uid ASC LIMIT 5
Hätte ich auch gleich drauf kommen können ....
Grüße
Re: MySql-Abfrage fürTerminplan
am 27.04.2006 23:10:43 von Thomas Rachel
Philipp Wabinski wrote:
> Hallo Zusammen,
>
> mein Problem ist das folgende:
.... das hast Du ja schon gelöst.
Aber mich interessiert folgendes:
> Bei einem Neueintrag wird der Unixzeitstempel für das Startdatum
> gespeichert und der Eintrag bekommt eine id.
Warum ein Unixzeitstempel? MySQL hat doch sooo schöne Datums- und
Zeittypen und auch -funktionen, zumal...
> Da hier nur der Tag gespeichert wird
.... ein DATE platzsparender ist als ein (vermutlich 32bittiger)
Zeitstempel.
Thomas
--
Du verwexelst da was: Chinin ist das, was den Lemon bitter macht. Das,
was die BigMäcs und den Chefsalate so schön knackig macht, heiÃt Chitin.
Hartmut Lehmann in de.alt.folklore.urban-legends
Re: MySql-Abfrage fr Terminplan
am 28.04.2006 01:35:26 von Philipp Wabinski
Hi Thomas,
> > Da hier nur der Tag gespeichert wird
>
> ... ein DATE platzsparender ist als ein (vermutlich 32bittiger)
> Zeitstempel.
sehe ich ja auch so und für den Zweck ist es auch wirklich nicht notwendig.
Ich brauche die Abfrage aber für ein typo3 frontendplugin. Ich habe die
Hauptstruktur der extension mit dem kickstarter erstellt. Der hat das so
vorgegeben und das Backend von Typo 3 ist sicher auch auf diese Vorgaben
ausgerichtet.
Philipp