![]() |
Datenbank
Ist es möglich einen in einer Datenbank eingegbenen Wert beispielsweise alle 10 Minuten um einen vorgegebenen Wert zu erhöhen?
z.B: Wert in der Datenbank = 10 alle 10 Minuten + 35 |
AFAIK nein :)
Die einzige Möglichkeit ist via einem Programm (in welcher Form auch immer)mit dem du den Wert auslesen und selbst erhöhen kannst. Bin aber schon jetzt gespannt, was andere Leute dazu sagen :D |
Re: Datenbank
Zitat:
|
also ich glaube, dass die Lösung von Flink sicher Sinn macht. Aber wenn du es unbedingt anders machen willst, dann verwend einfach ein Cron Skript.
mfg c. |
Hi!
Wenn du das Problem genauer beschreibst, (Auf welchem System, welche DB, welche Möglichkeit für ein im Hintergrund laufendes Programm, ... )werde ich morgen darüber nachdenken. bis dahin gute Nacht. mfg WB |
ich darf mal kurz für ihn sprechen:
afaik is im hintergrund laufendes programm ned so gut db = mysql server = w2k3 server |
Damit bleiben ja nicht mehr viele Möglichkeiten über.
Ich würde entweder ein Programm als Service dafür nehmen, oder, nur halb so schön, ein normale Programm :D Sollte ja einfach realisierbar sein, und die Programmiersprache kannst du dir auch noch aussuchen ;) |
programmiersprache kann er VB und Abal ;)
aber das wirds ned spielen. is ja ned sein server. |
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 |
Zeit
Das Ding, das sich laufend selbst erhöht, nennt man "Zeit"... :-)
Am einfachsten, Du speicherst den Wert und die Zeit, wann Du ihn gespeichert hast. Beim Auslesen errechnest Du aus der Zeitdifferenz (jetzt minus damals), wie hoch der Wert derzeit sein müsste, würde er alle x Minuten um y erhöht. Diese Rechnung ist simpel genug, um sie auch direkt im SELECT durchzuführen. |
Zitat:
|
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 /? |
@SingleParty.cc
Das mit der Zeit hab ich mir auch schon überlegt nur wie kann ich das über Tage hinweg machen? |
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:
PHP-Code:
|
Zitat:
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... ;-) |
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 19:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag