Anzeige - [Hier werben / Mediadaten]
(?) Tags raten (?) (edit)
 
Reply to this topicStart new topicStart Poll
> sql time
Sancheck
Geschrieben am: So 27.07.2008, 10:40
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


Hallo,

wie mache ich die Abfrage:


QUOTE

$abfrage = "SELECT user,time FROM sessions WHERE time<NOW()";



aber ich will ausgeben die letzten 5 Minuten

QUOTE

$abfrage = "SELECT user,time FROM sessions WHERE time>NOW()-5";



Danke liebe mysql pro's biggrin.gif

und nochwas.,...wie stelle ich sicher dass keine mysql junctions enthalten sind, also vl. gibts ne funktion die ich einfach drueber schmeisse ueber so eine post variable ....
Top
PMEmail Poster
Top
 
 
stalkerX
#2 Geschrieben am: So 27.07.2008, 10:47 (+00:06)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 37
Mitglied seit: 15.10.2007


QUOTE

$abfrage = "SELECT user,time FROM sessions WHERE time > DATE_ADD(time, INTERVAL -5 MINUTE)";


Nicht getestet, so aus dem Gehirn geschüttelt.


--------------------
Top
PMEmail PosterUsers Website
Top
 
wichtl
#3 Geschrieben am: So 27.07.2008, 11:37 (+00:49)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 29
Mitglied seit: 21.01.2007


Das sollte es wohl auch tun, sofern die "time" in Sekunden gespeichert wird:

$RECENT_ACTIVITY_MINUTES = 5;
$abfrage = 'SELECT user,time FROM sessions WHERE time>'. time() - $RECENT_ACTIVITY_MINUTES*60;

(die 5 kann man natuerlich auch in das Kommando mit rein nehmen, aber so kann man die z.B. leichter in eine Config-Datei auslagern...)


--------------------
Top
PMEmail Poster
Top
 
Sancheck
#4 Geschrieben am: So 27.07.2008, 12:43 (+01:06)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


ne die zeit is so im format: 2008-07-27 10:10:20
Top
PMEmail Poster
Top
 
jAuer
Jürgen Auer - freiberufl. Programmierer
#5 Geschrieben am: So 27.07.2008, 14:40 (+01:56)
Report PostQuote Post

AyomRank 9
Group Icon

Gruppe: Experten Entwicklung
Beiträge: 2432
Mitglied seit: 4.02.2006


QUOTE (stalkerX @ So 27.07.2008, 10:47)

Bitte nicht so.

Es ist seit Jahren bekannt, daß damit nur ein Bruchteil möglicher Sql-Injektionen abgefangen werden kann.

Lektüre:

http://www.ayom.com/topic-24443.html

http://www.ayom.com/topic-24697.html


--------------------
Web-Anwendung 3.0: Ein Online-Kalender für Termine vieler Filialen.

server-daten - die Single-Data-Solution: Web-Datenbanken als Online - CRM - Lösung.
Ihre Geschäftsprozesse entscheiden, was Ihre Online-Datenbank macht. Sie konzentrieren sich auf Ihr Kerngeschäft - Ihre Datenbank funktioniert.
Top
PMEmail PosterUsers Website
Top
 
stalkerX
#6 Geschrieben am: So 27.07.2008, 14:43 (+00:02)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 37
Mitglied seit: 15.10.2007


QUOTE (jAuer @ So 27.07.2008, 15:40)
Bitte nicht so.

Für Beginner ist es absolut ausreichend. Andere Lösungen sind komplexer Natur und schrecken nur von einer Implementierung ab. Lieber so, als gar nichts.


--------------------
Top
PMEmail PosterUsers Website
Top
 
wichtl
#7 Geschrieben am: So 27.07.2008, 16:05 (+01:22)
Report PostQuote Post

AyomRank 3
******

Gruppe: Member (aktiv)
Beiträge: 29
Mitglied seit: 21.01.2007


QUOTE (Sancheck @ So 27.07.2008, 13:43)
ne die zeit is so im format: 2008-07-27 10:10:20

Dann sollte folgendes gehen:

$RECENT_ACTIVITY_MINUTES = 5;
$abfrage = 'SELECT user,time FROM sessions WHERE UNIX_TIMESTAMP(time)>'. time() - $RECENT_ACTIVITY_MINUTES*60;


--------------------
Top
PMEmail Poster
Top
 
Sancheck
#8 Geschrieben am: So 27.07.2008, 17:12 (+01:06)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


QUOTE (stalkerX @ So 27.07.2008, 11:47)
QUOTE

$abfrage = "SELECT user,time FROM sessions WHERE time > DATE_ADD(time, INTERVAL -5 MINUTE)";


Nicht getestet, so aus dem Gehirn geschüttelt.

Also,
in dem time steht z.b.
2008-07-27 10:10:20

nur funktionieren tut das leider ned... er gibt immer noch das aus obwohl jetzt schon 18.10
Top
PMEmail Poster
Top
 

#9 Geschrieben am: So 27.07.2008, 18:36 (+01:23)
Report PostQuote Post

AyomRank 4
********

Gruppe: Member (aktiv)
Beiträge: 184
Mitglied seit: 4.11.2006


Hi Sancheck,
bin zwar nicht so der SQL-Guru aber versuch es mal so:
CODE
$abfrage = "SELECT user,time FROM sessions WHERE time BETWEEN DATE_ADD(CURRENT_TIMESTAMP , INTERVAL -5 MINUTE) AND CURRENT_TIMESTAMP)";


Gruß
Peter

Top
PMEmail PosterYahoo
Top
 
Sancheck
#10 Geschrieben am: So 27.07.2008, 21:06 (+02:29)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


thx
Top
PMEmail Poster
Top
 
TSc
#11 Geschrieben am: Mo 28.07.2008, 07:23 (+10:17)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 710
Mitglied seit: 8.11.2004


QUOTE (Peter H @ So 27.07.2008, 18:36)
CODE
$abfrage = "SELECT user,time FROM sessions WHERE time BETWEEN DATE_ADD(CURRENT_TIMESTAMP , INTERVAL -5 MINUTE) AND CURRENT_TIMESTAMP)";


Oder kürzer:
CODE
$abfrage = "SELECT user,time FROM sessions WHERE time > DATE_ADD(CURRENT_TIMESTAMP , INTERVAL -5 MINUTE)";



Und was
QUOTE
Lieber so, als gar nichts.
angeht - ich bin eher ein Freund von direkt richtig lernen als bewusst fehlerhaft anfangen und diese Fehler dann nie wieder richtig ausgemerzt zu bekommen.
Daher empfehle ich Jürgens Links.
Aber das hängt halt auch immer vom Typ des Lernenden ab...

Gruß,
Tom
Top
PMEmail Poster
Top
 
Sancheck
#12 Geschrieben am: Mo 28.07.2008, 07:51 (+00:27)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


@tsc ja ich auch, und das mitm escape mach ich schon lang , aber ich weis auch adss das nicht das gelbe vom ei ist! aber ich haet gern ne "gute funktion", die das schuetzt.
Ich denke sowas laesst sich entwickeln.
Top
PMEmail Poster
Top
 
TSc
#13 Geschrieben am: Mo 28.07.2008, 08:53 (+01:02)
Report PostQuote Post

AyomRank 6
************

Gruppe: Member (aktiv)
Beiträge: 710
Mitglied seit: 8.11.2004


Geeignet ist die Erstellung seiner Abfragen als Stored Procedure, was mittlerweile endlich auch in mySQL verfügbar gemacht wird.

Das bringt zum einen den Vorteil das die Performance einer solchen Prozedur höher ist als bei einer Abfrage die aus dem Script gesendet wird, zum Andern liegt die Abfrage in der SP schon "compiliert" in der DB vor und selbst wenn anderer SQL-Code über die Variablenübergabe eingeschleust wird führt die DB nur die compilierte Abfrage aus und behandelt den Rest als das was sie ist - ein Variableninhalt.

Vereinfacht gesagt.
Top
PMEmail Poster
Top
 
Sancheck
#14 Geschrieben am: Mo 28.07.2008, 10:31 (+01:37)
Report PostQuote Post

AyomRank 5
**********

Gruppe: Member (aktiv)
Beiträge: 482
Mitglied seit: 29.03.2008


jop danke fuer die Info smile.gif
werd mir das mal anschaun
Top
PMEmail Poster
Top
 
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
Trackback-Url: http://www.ayom.com/track/t/25521

Topic Options Reply to this topicStart new topicStart Poll

 


> Ähnliche Themen
time() Problem Sancheck 156 2 Mi 17.09.2008, 09:03
Down-time ohne Schaden in Ranking und PR frinator 445 1 Di 10.04.2007, 17:13
AOL Time Warner will TradeDoubler übernehmen TD Michel 2521 6 Fr 23.02.2007, 15:31
"Time" ernennt Dich zur "Person des Jahres" Lucas Wyrsch 980 9 Di 19.12.2006, 18:40
Netz-Prime-Time Kuschelmonster 729 5 Di 17.08.2004, 14:45
Idle Time einstellen? heisesteff 750 2 So 4.04.2004, 20:12
time() jonas 542 1 Mo 8.03.2004, 16:12




Anzeige - [Hier werben / Mediadaten]



Anzeigen


[Hier werben / Mediadaten]