Tage-Abfrage

Und wo ist das Problem?
PHP:
$LAktiv = strtotime("+5 hour", $LAktiv);
$LAktiv = strtotime("+19 hour", $LAktiv);
$LAktiv = strtotime("+590789437856784 hour", $LAktiv);
 
das ich da die Variable $Laufzeit1 hernehme? o.o
ich hab keine Ahnung was $Laufzeit1 sein soll und woher das du die hast.

Meine Tipps:
- Rechen mit Timestamps
- Zum addieren nimm strtotime und nicht Sekundenrechnungen
- In die DB einsetzen indem du SQL-Seitig mit FROM_UNIXTIME() den Timestamp in das MySQL_Timestamp-Format konvertierst
PHP:
$phpdate= time();
$sql = "INSERT INTO mytable (myTimeStamp) VALUES (FROM_UNIXTIME({$phpdate}));";
 
ich hab 2 mal ne Zeit zu berücksichtigen
einmal die $Laufzeit1 diese enthält verschiedene Anzahlen von Stunden
und die Sonntage wenn ich um 22 Uhr Samstag aktivier für 6 stunden dann endet sie erst Montag um 4 Uhr. also muss ich theoretisch +30 stunden rechnen

Jetziger Code:
PHP:
$datum=date("Y.m.d");
$Leerzeichen= " ";
$LaufzeitAktiv = date("Y-m-d H:i:s");
$zeit =$LaufzeitAktiv;
//Verlängerung um XX Stunden
$plus = $Laufzeit1;
$zeit_alt = strtotime($zeit);
$plus = $plus * 3600;
$neue_zeit = $zeit_alt + $plus;
$LaufzeitEnde= date("Y-m-d H:i:s");
$LaufzeitEnde=date("Y-m-d H:i:s", $neue_zeit);
$weekdays = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
$wochentag = $weekdays[date("w")];
if ($wochentag=="Mittwoch"){
$start= date("Y-m-d", strtotime($LaufzeitAktiv) + (3600 * 24));
$end= date("H:i:s", strtotime($LaufzeitAktiv)+(3600 * $Laufzeit1));
$var= $start.$Leerzeichen.$end;
echo $var;
$sqlquery=("INSERT INTO $tbl_name (Seriennummer,Lizenz,Laufzeit,LaufzeitAktiv,LaufzeitEnde) VALUES ('$dpReference','$Lizenz','$Laufzeit1','$LaufzeitAktiv','$end')");
}
ich will nun die 2 Variablen Start und end zusammenfügen aber dann krieg ich trotzdem 24. statt den 25 obwohl es in der DB derzeit so steht: 2017-03-25 00:00:00
 
Zuletzt bearbeitet:
Du könntes dir ein Array anlegen in welchem du für bestimmte Tage die "zusätzlichen" Stunden notierst.

PHP:
$datum = date("Y-m-d");
$faktor = array("1" => 0, "2" => 0, "3" => 12, "4" => 0, "5" => 0, "6" => 0, "7" => 24);

echo "Wochentag " .date("N", strtotime($datum)) ."<br />";
echo "Faktor " .$faktor[date("N", strtotime($datum))] ."<br />";

Hier ist für Mittwoch (3) der Wert 12 und für Sonntag (7) der Wert 24 hinterlegt. Der für diesen Tag/dieses Datum gültige Wert wird jeweils ermittelt und du addierst das dann bei der Berechnung einfach dazu.

Sollte sich je mal was ändern, so musst du nur den Inhalt des Array anpassen die Berechnung bleibt aber gleich.
 
mhm das is so ich Werte Radio Buttons aus 5 Stück derzeit, von dem hat jeder einen Festen Wert.
und deswegen brauch ich die Variable $Laufzeit1. Die Stundenzahl von $Laufzeit1 sind in einer anderen PHP-Datei angelegt, ich benötige also nur If wochentag=="Sonntag" dann führ aus: datum.uhrzeit+1Tag +$Laufzeit1
ich bin schon so weit aber irgendwie ich hab einfach grad nen Querstrich :(
 
Also wenn du jetzt beleidigt bist, dann kann ich es nicht ändern.

Du hast doch selber geschrieben

ich bin schon so weit aber irgendwie ich hab einfach grad nen Querstrich

und nur darauf habe ich zuletzt geantwortet.

yaslaw hat dir jetzt schon mehr als einen Tipp gegeben wie du es lösen kannst und auch wenn ich seine Vorschläge nicht getestet habe behaupte ich mal das sie funktionieren.

Ob mein Vorschlag gut ist, das sollen andere beurteilen.
Es wäre aber für dich eine Möglichkeit wie du die Berechnung (auch mit 5 oder 50 Optionsfeldern) in einer Formel lösen könntest.

Bislang habe ich noch nicht entdecken können wo du in deinem Code eine der Hilfen großartig umgesetzt hast.

Wünsche dir viel Erfolg beim Lösen des Problems.
 
Zurück