Datenbank einträge überprüfen und ändern

puschelchen

Erfahrenes Mitglied
Hallo,
mir ist gestern was gekommen was ich ändern müsste.
Meine Lizenzen sind nun Sonntag frei bis 23.59.
Allerdings kam dann die Überlegung was ist wenn jemand um 10 Uhr Sonntags ne 24h Lizenz kauft dann läuft die nur bis 23.59. Unter anderem gibts auch 12h 8h und 4 h Lizenzen das heisst ich muss alle berücksichtigen +Zeit wann es gekauft wurde.
Ich hab mir evtl überlegt ob ich Wochentag + Zeit+ Datum zusammenfassen kann und vergleichen aber wie mach ich das mit aktueller Zeit? (ja Zeitrechnen is irgendwie mein Problem) :/ noch eine Berücksichtigung wäre allerdings wenn die Lizenz um 10 uhr endet am Sonntag das derjenige auch bis 23.59 die freie Zeit erhält.
Vll hat jemand nen Lösungsansatz oder ne Doku Tutorial oder so? Vielen dank schonmal
 
Zuletzt bearbeitet:
Wieviele Threads machst jetzt wegen deiner Zeitgeschichte noch auf? Das gehört doch alles zusammen...

Rechne doch die Zeiten einfach in timestamps um, dann kannste die Zeiten welche die Lizenz hat, vom gekauften Zeitpunkt dazu rechnen und somit haste die gültige Lizenzdauer. Wenn nun eine Happy-Hour oder sonstiges mit rein fällt, dann erstellst eine Bedingung ala` Wenn Lizenz in der Happy-Hour gekauft wurde, dann subtrahier/addiere was von der Zeit.
 
Und erstell zuerst mal ein anstädiges Konzept. Ich denke dass du programmierst ohne zu wissen was du eigentlich haben willst.
 
ich hab einfach Probleme mit dem Rechnen von Timestamps.
Darum gehts nich die Laufzeit un das datum +Uhrzeit wird schon gerechnet nur wie soll ich dann sagen wenn Lizenz am Sonntag um 10 uhr endest soll eben die Zeit auf 23.59 stehen
oder
wenn du eine Lizenz um 14 uhr nachmittags für 24h kaufst soll auch nicht um 23.59 enden sondern laufen bis Montag 14 uhr?!

Yaslaw der Punkt kam mir erst gestern als ichs nochmal getestet hab und das eigentlich dann Betrug wäre wenn der Kunde nicht die Zeit erhält die er sich kauft.
Darüber hat ich mir vorher keine Gedanken gemacht nur beim Test kam es halt zum Vorschein das ichs so nicht machen kann sonst klingelt Telefon Sturm wegen Beschwerden.
 
Zuletzt bearbeitet:
Ich bin fast sicher, dass die Lösung irgendwo in deinen 100 anderen Threads zum Thema steht. Wie Manic schon schreibt. Wenn du sauber mit Timestamps arbeitest, hast du es gelöst. Das arbeitet mit Zeit UND Datum.
 
ja ich start einfach mal den Versuch.
Okay meine Lösung:
PHP:
$lfakt=strtotime($row['LaufzeitAktiv']);
$lfEnd=strtotime($row['LaufzeitEnde']);
$timestamp = time();
if($wochentage["do"]== strftime("%A")){
  if($lfEnd==$timestamp){
    $today=date('Y-m-d 23:59:00');
$update ="UPDATE $tbl SET LaufzeitEnde = '$today' WHERE `Seriennummer`='".mysql_real_escape_string(@$_GET["dpSrn"])."'  ";
$updaten = mysql_query($update) or die(mysql_error());
}
else {

}
Fazit: Funktioniert.
 
Zuletzt bearbeitet:
Zurück