PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nur Einträge der letzen 24 Stunden ausgeben?


jojojjjooo
24.11.2007, 20:36:26
Hallo,

Ist es irgentwie möglich Einträge aus der mysql Tabelle auszugeben die erst in den letzten 24 Stunden eingetragen wurde. Das Datum ist im Format z.b 1195932807 gespreichert?

defabricator
24.11.2007, 21:37:09
Das Datum ist im Format z.b 1195932807 gespreichert?Als Frage? Ist es oder ist es nicht?
Welchen typ hat denn das Feld in der Tabelle?

jojojjjooo
24.11.2007, 21:53:49
Das Datum und die Zeit wurde mit time() erstellt und so gespeichert in einen ganz normalen Feld

defabricator
24.11.2007, 22:47:29
"ganz normales Feld"?
int, numeric, varchar, text, date, time, datetime, ... so viele Möglichkeiten.

jojojjjooo
24.11.2007, 23:04:45
varchar

defabricator
25.11.2007, 00:15:23
Und muss das so sein?

rambi
25.11.2007, 00:55:57
Also, wenn ich Zeiten in MySQL speichern will, verwende ich meist DATETIME und seine Brüder, oder manchmal auch TIMESTAMP. Aber die in VARCHAR zu stopfen, darauf bin ich noch nicht gekommen, das gibt ja auch Sorgen beim Abfragen, Sortieren Formatieren...usw....

jojojjjooo
25.11.2007, 12:33:01
naja egal hab das problem jetzt anders gelöst Danke!

Edit: Zu meiner anderen Lösung hab ich aber auch noch ein Problem:
Ich möchte NUR 3 Einträge mit den meisten Views ausgeben der letzen 100 Einträge?

vt1816
25.11.2007, 18:21:11
...

Edit: Zu meiner anderen Lösung hab ich aber auch noch ein Problem:
Ich möchte NUR 3 Einträge mit den meisten Views ausgeben der letzen 100 Einträge?

LIMIT (http://dev.mysql.com/doc/refman/5.1/de/limit-optimization.html)

jojojjjooo
25.11.2007, 20:12:47
mit LIMIT ist mir was klar aber ich will ja die drei einträge wo views am hösten der letzten 100.

Hab das jetzt einfach mit ner if abfrage gemacht wenn jemand ne bessere Lösung kennt würde mich interessieren

vt1816
26.11.2007, 17:52:33
mit LIMIT ist mir was klar aber ich will ja die drei einträge wo views am hösten der letzten 100.

Hab das jetzt einfach mit ner if abfrage gemacht wenn jemand ne bessere Lösung kennt würde mich interessieren

Wozu "if" wenn Du bei der Abfrage schon alles mit rein packen kannst.


$sql = "SELECT * FROM blabla WHERE bedingung = $erfuellt ORDER BY index ASC LIMIT 0, 3"


Wo ist dabei das Problem?

jojojjjooo
26.11.2007, 18:22:47
und wo sind da die 100?

vt1816
26.11.2007, 21:27:51
und wo sind da die 100?

In Deiner Datenbank - oder?

... WHERE bedingung = $erfuellt ...

defabricator
26.11.2007, 23:43:29
Wenn Dein Mysql Server neu genug ist, kannst Du Subqueries verwendenSELECT
*
FROM
(
SELECT
*
FROM
`blabla` as a
ORDER BY
a.`created` desc
LIMIT
100
) as b
ORDER BY
b.`views` desc
LIMIT
3

jojojjjooo
27.11.2007, 21:47:05
Thx funtz super!