Archief - Via php een "timestamp" veld in Mysql updaten

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

KingOfWoods

Legacy Member
Hallo allemaal.

Ik heb een form gemaakt waarin je gegevens plaatst. Wanneer je deze saved komen ze in mijn databank terecht en ik heb daar een column staan met "huidige datum" die timestamp gebruikt om de datum en tijd van bewaren plaatst.

Nu als ik mijn gegevens via PHP aanpas door middel van:

PHP:
$query = "UPDATE tblprofiel
						 SET 
						 vnaam = '".mysql_real_escape_string($_POST["vnaam"])."',
						 anaam = '".mysql_real_escape_string($_POST["anaam"])."',
						 verdwijndate = '".mysql_real_escape_string($_POST["verdwijndate"])."',
						 huidigedate= 'DEFAULT CURRENT_TIMESTAMP',
						 provincie = '".mysql_real_escape_string($_POST["provincie"])."',
						 vermist = '$x'
						 WHERE idkind ='$id'
						 ";
	mysql_query($query);
	echo "DATA UPDATE OK";
Dan wordt alles in mijn Mysql aangepast behalve de huidige datum (huidigedate).

In mijn aanpas form is er dus geen post van huidige datum. Ik wil deze rechtstreeks in dit scriptje kunne aanpassen aan de huidige tijd van de aanpassing.

Iemand enig idee hoe dit moet gebeuren, want via mijn huidige (huidigedate= 'DEFAULT CURRENT_TIMESTAMP',) lukt dat dus niet. Kben redelijk nieuw met php enz...

Merci alvast

adrianhates

Legacy Member
krijgt ge een mysql_error terug? :) Laat die is zien of post de structuur van uw tabel is.

Ik doe het meestal met een creation_date en een update_date zoals dit:

Code:
  `creation_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
  `update_date` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,

Bij insert , zal de creation date standaard op de huidige timestamp gezet worden en bij update op de current timestamp.

KingOfWoods

Legacy Member
Nope ik krijg geen error via mijn code. het timestamp veld wordt gewoon met 0000-00-00 00:00:00 ingevuld.

En je moet mij excuseren, maar ik begrijp niet goed wat je met je code bedoeld, waar zou ik deze moeten plaatsen?

Zoals ik al zei is MySQL en PHP vrij nieuw (eigenlijk elke programmeer taal)

Sick-Boy

Legacy Member
Bij het aanmaken van de database stel je in dat bij elke update dat veld de CURRENT_TIMESTAMP als waarde krijgt.

KingOfWoods

Legacy Member
In mijn databank staat er al CURRENT_TIMESTAMP, maar ik weet dus niet waar je moet zetten dat hij het bij update ook terug moet aanpassen.

Ik heb het voorlopig anders opgelost.

Door:

$date = date("y-m-d H:i:s", time());

en dan bij update

huidigedate= '$date',

Geen idee of dit wel proper is maar mijn sql veld wordt toch perfect ingevuld zoals andere voorgaande velden via de timestamp.

scipicore

Legacy Member
Als er current timestamp staat moet je de rest gewoon updaten en de timestamp zal zichzelf aanpassen

dJeez

Legacy Member
Vervang
Code:
huidigedate= 'DEFAULT CURRENT_TIMESTAMP',
door
Code:
huidigedate=CURRENT_TIMESTAMP,
en uw query zal (behoudens andere fouten) werken zoals het hoort.

Maar het is inderdaad beter van die dingen al vast te leggen in je CREATE TABLE zoals adrianhates aangaf, want dan moet je dat niet meer in elke query gaan herhalen maar gebeurt het automatisch als je geen waarde voor die kolom doorgeeft.

KingOfWoods

Legacy Member
Cva mannen. Dat werkt inderdaad. Merci voor de snelle en duidelijke hulp.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan