Antworten auf deine Fragen:
Neues Thema erstellen

Nach bestimmter Zeit ein Befehl ausgeben

Robbyn-

PHP / Flex Programmierer

Also ich will das so machen das der eingeloggte User wenn er einen virtuellen Job hat nach einer bestimmten zeit (z.b. 24h) sein Gehalt ausgezahlt bekommt und das immer alle 24 nach der zeit als er bei diesem Job angefangen hat ich weiß das man in der datenbank die zeit speichern muss nur was für einen befehl gibt es damit ich PHP verständlich gebe das er am nächsten tag um die selbe zeit sein Gehalt ausgezahlt werden soll.Ich hoffe es kann mir jemand helfen(als wäre das schon mal hier nicht der fall gewesen^^).

Mfg.Robbyn
 

r3nt5ch3r

~ Allround pG ~

AW: Nach bestimmter Zeit ein Befehl ausgeben

Entweder ein interner PHP-Cronjob, welcher über einen AJAX-Request angestoßen wird (schöne Variante, leider wirds aber erst dann aktiv wenn der erste Aufruf nach der festgelegten Zeit gemacht wurde) oder über einen externen Anbieter (z.B: Cronjob.de - Kostenlose Cronjobs / Crontab) oder Intern -> (nicht so schön, da es meistens nicht auf free Webspaces erlaubt ist).

-> Fazit: Ajax-Request am besten dafür geeignet... (meine Meinung!)
 

jojoho

C4D Benutzer

AW: Nach bestimmter Zeit ein Befehl ausgeben

Einen direkten Befehl dafür wirst du vergeblich suchen. Klar ist das dein Script, dass dieses "Gehalt ausbezahlt" aufgerufen werden muss. Das kann entweder automatisiert (z.b durch einen Cronejob) oder zum Beispiel durch den User ausgelöst werden (Nach dem nächsten login) Da bräuchstest du dann nur noch eine Abfrage, ob die 24h schon seit dem Job vergangen sind.
 

netbandit

Aktives Mitglied

AW: Nach bestimmter Zeit ein Befehl ausgeben

Ist doch wurscht, er/sie sieht es doch erst beim nächsten Besuch. Folglich bräuchte doch eigentlich erst dann gerechnet/aktualisiert werden?!
 

Robbyn-

PHP / Flex Programmierer

AW: Nach bestimmter Zeit ein Befehl ausgeben

ja theoretisch schon aber gibt es in PHP kein genauen Befehl für solche fälle z.b. das man wenn er den job erledigt hat mit time() die zeit gespeichert wird in die datenbank geschrieben wird und dan beim nächsten aufruf immer wieder kontrolliert ob die die 24h rum sind.?

Mg.Robbyn
 

netbandit

Aktives Mitglied

AW: Nach bestimmter Zeit ein Befehl ausgeben

irgendwann bestimmt; pay_off_time(string $FormatGehalt[, int $Timestamp]) oder so


Also noch musst du dir eine passende Rechnung dazu erarbeiten. ;)

Gaaaanz grob, z.B. Tabelle konto

user_id | start | zeitkonto | gehalt

Erstmaliges einfügen;
PHP:
$timestamp=time();
$sql="INSERT INTO konto (user_id, start, zeitkonto, gehalt) VALUES (" . $user_id . ", " . $timestamp . ", " . $timestamp .", 0)";
mysql_query($sql);
Überprüfen und eintragen:

PHP:
$timestamp=time();
$gehalt=100.60; // Gehalt für 24 Stunden
$sql="SELECT * FROM konto WHERE user_id=" . $user_id . " AND zeitkonto<" . ($timestamp-60*60*24);
$result=mysql_query($sql);
if(mysql_num_rows($result)==1){
   // ...
   // rechnen, wieviele Stunden seit dem Eintrag in 'zeitkonto' und dem aktuellen timestamp vergangen sind, beispiel 59 Stunden in $stunden gespeichert
   // ...
   $zahltage=floor($stunden/24);
   if($zahltage>=1){
      $sql="UPDATE konto SET zeitkonto=zeitkonto+" . (60*60*24*$zahltage) . ", gehalt=gehalt+" . ($zahltage*$gehalt) . " WHERE user_id=" . $user_id;
      mysql_query($sql);
   }
}
 

Robbyn-

PHP / Flex Programmierer

AW: Nach bestimmter Zeit ein Befehl ausgeben

ah deine formel hat mich auf eine idee gebracht mal sehen ob es klappt.

THX^^

Mfg.Robbyn

*edit* Sag mal geht das nicht wenn man jetzt mit z.b.

$zeit = time()

die zeit speichere sie dan in die datenbank eintrage und dan immer wenn die seite aufgerufen wird er die zeit aus der datenbank genommen und kontrolliert ob 24h um sind. so und wenn dies der fall ist dann soll er die zahl die in der datenbank enthalten ist mit der jetzigen austauschen und so geht das immer weiter.Würde das funktionieren theoretisch???

Mfg.Robbyn
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: Nach bestimmter Zeit ein Befehl ausgeben

Umpf; da frag ich mich doch, wozu die Mühe? Du kannst nicht jedes Mal einfach den aktuellen Timestamp einfügen. Angenommen es sind 27 Stunden seit dem letzen Besuch vergangen, dann bescheisst du doch um 3 Stunden.
 

Robbyn-

PHP / Flex Programmierer

AW: Nach bestimmter Zeit ein Befehl ausgeben

ja stimmt aber es soll ja auch nur ausgeben wenn er on kommt und das wird dem spieler auch klar sein es. Nur wenn er on kommt wird das geld auch überwiesen für die 24h wenn er in der zeit länger als 24h (z.b. 28h) nicht on gekommen ist nunja das ist dan sein problem aber naja zeit ist ja noch genug werden noch irgendwie eine lösung finden.
danke dir.

Mfg.Robbyn

*edit*

Oder ich rufe die seite die die berechnugen enthält mit cronjob jede stunde einmal auf. Dann würde es auch gehen.
 
Zuletzt bearbeitet:

Robbyn-

PHP / Flex Programmierer

AW: Nach bestimmter Zeit ein Befehl ausgeben

Nun ich habe das jetzt so gemacht das man nicht alle 24h geld bekommt sondern was ganz anderes und zwar. Man hat einen Regler wo man die zeit einstellen kann wie lange man arbeiten möchte und je nach stunde bezahlt wird also man kann z.b auswählen 1 Stunde ,2 Stunden arbeiten u.s.w . So das habe ich alles hinbekommen nun musste ich nur noch die zeit an der die arbeit beginnt mit dem ausgewählten zeit wie lange er arbeiten soll vergleichen. Nun auch das habe ich hinbekommen. Habe ich z.b. 2 stunden ausgewählt und es ist gerade 16.00Uhr dann endet meine arbeit um 18.00 Uhr und das heißt das ich genau um 18.00 Uhr das Gehalt von 2 stunden ausgezahl bekommen soll nun die frage wei bekomme ich das hin das dass formular weiß das 2 stunden vorbei sind und wie bekomme ich es hin das auch gleich das gehalt überwiesen wird ohnen das der user on ist kann man das vielleicht mit einer funktion lösen wo man bei cronjob z.b. die seite jede stunde einmal aufruft und er dan überprüft welche leute überfellig sind und welche noch z.b. eine stunde länger arbeiten müssen. Ginge das irgendwie?

Mfg.Robbyn
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.565
Beiträge
1.538.067
Mitglieder
67.488
Neuestes Mitglied
Andrew56524
Oben