php Laufzeit + Datum

das Datum bleibt nun leer es wird nix aktualisiert.

Na wenn es nur dann nicht aktualisiert wird, dann solltest du eben vorher prüfen ob ein Wert für das Datum vorhanden ist oder nicht.

Je nachdem kannst du die SQL-Anweisung dann auf die eine oder andere Art ausführen.
 
DateTime ist ein speziel formatierter String der dort verlangt wird.
DATETIME

Kombination aus Datum und Uhrzeit. Der unterstützte Bereich liegt zwischen '1000-01-01 00:00:00' und '9999-12-31 23:59:59'. MySQL zeigt DATETIME-Werte im Format 'YYYY-MM-DD HH:MM:SS' an, gestattet Ihnen aber, wahlweise Strings oder Zahlen in DATETIME-Spalten einzugeben

Und glaub mir. '09-26-15' ist nicht im Format 'YYYY-MM-DD HH:MM:SS'
 
Na wenn (gar) nichts aktualisiert wird, dann braucht es auch keine Update-Anweisung.

Wenn es bereits einen Datensatz gibt beim zum Beispiel nur die LauifZEIT verlängert wird (von 07.03.2011 - 9:50 auf 07.03.2011 - 12:00) dann musst du den vorhandenen Wert eben so anpassen das die bestehende Uhrzeit überschrieben wird.
 
ja das glaub ich dir
dann werd ich den Datetime ändern müssen
da ich Stunden +Uhrzeit rechnen muss und dann LaufzeitEnde eintragen muss.
 
aber wirkliche Uhrzeit wird durch Time auch nicht eingetragen steht nur da: 00-00-84
und wenn ich stunden+uhrzeit rechne:
int(17)
aber minuten etc nicht mitgezählt.
 
Setz dich mal ganz ruhig hin.
- Überleg dir, weas du genau brauchst
- Schau dir die MySQL-Doku zu den entsprechenden Formaten an
- Überleg dir, wie du diene Infos die du im PHO hat in dieses Format bringst.

Und dann, erst dann beginnst du das zu programmieren, zu testen, zu debugen (mein Tutorial dazu kennst du ja)

Wenn es dann immer noch nicht geht, ist es Zeit hier im Forum anzufragen. Dein jetztiges Hickhack bringt gar nix. Du antwortest schneller als du etwas austesten kannst.
 
Wie bzw. mit welchen (Zeit-)Werten rechnest du überhaupt?

PHP:
<?php

//aktuelles Datum und Uhrzeit
$zeit = "2011-03-07 09:15:00";
//Verlängerung um XX Stunden
$plus = 17;

$zeit_alt = strtotime($zeit);

$plus = $plus * 3600;

$neue_zeit = $zeit_alt + $plus;

echo date("Y-m-d H:i:s", $neue_zeit);

?>

Vergleiche da mal mit deiner Art zu rechnen!
 
es sieht so aus:
PHP:
<?php
error_reporting(E_ALL);
echo dpGetText($dpLang, "BEZNOK08"),"<br>";
echo $Lizenz,"<br>";
echo $dpAmount,"<br>";
echo dpGetText($dpLang, "BEZ01"),"<b> $Laufzeit </b><br>";
echo dpGetText($dpLang, "BEZNOK09"),"<br>";
     $host="localhost";
     $username="david";
     $password="a";
     $dbname="JPEGChecker-Datenbank";
     $tbl_name="Lizenz";
     mysql_connect("$host","$username","$password");
     mysql_select_db($dbname);
date_default_timezone_set("Europe/Berlin");
setlocale(LC_TIME,"");
$timestamp = time();
$datum = date("Y-m-d",$timestamp);
$uhrzeit = date("H:i:s",$timestamp);
$LaufzeitAktiv= $datum.$uhrzeit;
echo $LaufzeitAktiv;
//$LaufzeitAktiv = date("H-i-s");
$LaufzeitEnde=$uhrzeit+$Laufzeit;
var_dump($LaufzeitEnde);
$sqlquery=("INSERT INTO $tbl_name (Seriennummer,Lizenz,Laufzeit,LaufzeitAktiv) VALUES ('$dpReference','$Lizenz',$Laufzeit,$LaufzeitAktiv)");
$sql=mysql_query($sqlquery) or die ("Fehler in Abfrage ".$sqlquery.":<br/>".mysql_errno()." - ".mysql_error());
mysql_close();
?>
Ausgabe: Fehler in Abfrage INSERT INTO Lizenz (Seriennummer,Lizenz,Laufzeit,LaufzeitAktiv) VALUES ('11111111111111111111111111111111111111111111111111111','LizenzC',8,2011-03-0710:11:41):
1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':11:41)' at line 1

Warum wird immer die erste Zahl abgeschnitten? es müsste dort 10 bla bla stehn und das wird einfach abgetrennt.
Obwohl das Feld nun als datetime deklariert wurde. Im Endeffekt wird ja nun LaufzeitAktiv zusammengeführt von 2 Variablen und als echo richtig ausgegeben. LaufzeitEnde lass ich jetz erstmal weg da ich generell endlich mal ein Datum reinstellen will.
Irgendwie hab ich das ganze WE überlegt und trotzdem scheints nix zu bringen noch mehr Zeit nachzudenken.



ich rechne
LaufzeitAktiv+zahl
quasi uhrzeit+8 oder 10 oder oder oder
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück