WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   Datenbank (http://www.wcm.at/forum/showthread.php?t=127083)

Potassium 03.03.2004 13:25

Zitat:

Original geschrieben von wbendl
Hi!

Also wenn es nicht "sein Server" ist, greift er wohl über Internet auf die DB zu. Das heißt:

1. Ein anderer Rechner muß rund um die Uhr laufen, und die DB bearbeiten.

2. Wenn die Verbindung abbricht, ist die Sache im A.....
(Außer er zählt lokal mit)

Eigentlich fällt mir kein Grund ein, warum der Wert ständig erhöht werden sollte. Es müßte ja genügen, wenn der Wert nur bevor ihn jemand wissen will auf den richtigen Stand kommt. Damit hätte man auch schon den Auslöser.

Vielleich mal in diese Richtung denken!

mfg

WB

also afaik läuft ein webserver immer rund um die uhr (ausser er fällt aus :D)

The_Lord_of_Midnight 03.03.2004 14:21

also in einer modernen datenbank macht man da einfach einen datenbankjob, fertig. wenns die datenbank nicht kann ist das auch kein problem. dann definierst halt im betriebssystem einen job. bei einem richtigen betriebssystem wie unix oder linux ist das einfach mit einem cron-job zu erledigen.

bei letztklassigen dingen wie windows kann man zwar nicht viel machen, aber ich glaube mit dem at-kommando sollte es gehen.

zur syntax:
at /?

Robin Hood 03.03.2004 14:44

@SingleParty.cc

Das mit der Zeit hab ich mir auch schon überlegt nur wie kann ich das über Tage hinweg machen?

heli2sky 03.03.2004 15:17

wo ist das problem?

es wurde doch jetzt eh schon so oft geschrieben: du brauchst einen wert und die zeit, das speicherst du in die DB ->
PHP-Code:

zeit_jetzt wert |
---------------------
|    
xxx     |  yy  

wenn der user die seite aufruft: (php)
PHP-Code:

$zeit_jetzt time();
$wert += 35*floor(($zeit_jetzt-$zeit_damals)/$intervall); 

zeit_jetzt-zeit_damals ist in dem fall die anzahl der vergangenen sekunden -> die wird durch $intervall dividiert (in deinem fall, also für 10 minuten, wären das 10*60 (weil sekunden!) -> das ergebnis wird abgerundet ("floor()") -> das was rauskommt, so oft wird 35 dazuaddiert ($wert += ...)

SingleParty.cc 03.03.2004 15:20

Zitat:

Original geschrieben von Robin Hood
@SingleParty.cc

Das mit der Zeit hab ich mir auch schon überlegt nur wie kann ich das über Tage hinweg machen?


Wenn Du DateTime-Felder voneinander abziehst, bekommst Du die Differenz in Sekunden.

Diese Differenz dividiere durch (35x60) - der ganzzahlige Anteil steht dann dafür, wie oft 35 Minuten in dieser Zeitdifferenz vergangen sind.

Dieser Anteil mal dem Erhöhungsfaktor plus die Ausgangszahl ergibt dann den aktuellen Soll-Wert.

Das kannst Du über beliebige Zeiträume spielen.

PS: Ich hab's nicht probiert, um ehrlich zu sein - vielleicht steckt auch ein gewaltiger Denkfehler drin... ;-)

wbendl 03.03.2004 19:18

Hi!

Das mit der ZEIT funktioniert sicher, wenn PHP erlaubt ist.

@potassium
Das ein Webserver rund um die Uhr läuft, habe ich mir fast gedacht. Das nützt aber garnichts, wenn es nicht "sein Server" ist, und er kein Programm oder Chronjob verwenden kann.

mfg

WB


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:41 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag