huidige datum in database.

  • Onderwerp starter Onderwerp starter baws
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

baws

Terugkerende gebruiker
Lid geworden
9 apr 2010
Berichten
1.258
hoe kan ik de huidige datum in een datbase zetten als timestamp
ik heb de code

PHP:
mysql_query("INSERT INTO bezoekers (ip,  laatstebezoek)
VALUES ('$ip', '??')");
maar wat moet er dan bij de vraagteken?

mvg
 
unix timestamp? dat krijg je volgens mij gewoon met

PHP:
time()
 
time() werkt wel, maar het is een PHP-functie, dus je zal het uit de query-string moeten halen:
PHP:
mysql_query("INSERT INTO bezoekers (ip,  laatstebezoek)
VALUES ('$ip', '" . time() . "')");

Je kan ook gebruik maken van een van de datum- en tijdfuncties van MySQL, bijvoorbeeld UNIX_TIMESTAMP():
PHP:
mysql_query("INSERT INTO bezoekers (ip,  laatstebezoek)
VALUES ('$ip', UNIX_TIMESTAMP())");
 
Laatst bewerkt:
Kun je gewoon met de invoer van het ip doen. Je database kolom instelling van waar je timestamp in moet komen te staan:
naam: laatstebezoek
type: timestamp
standaard waarden: CURRENT_TIMESTAMP
Attributen: on update CURRENT_TIMESTAMP

Dit gebruik ik tenminste altijd. Voert ie automatisch bij invoer van het IP het tijdstip in van dat moment.
 
Facepalm dat klinkt zoals ik het wil,
maar ik heb al een timestamp , eerstebezoek.
kan maar een timestamp :(
 
Maak gebruik van date() , en dan sla je de output zo op in de database
 
Het probleem is eigen lijk het volgende
PHP:
if ( isset($_SERVER["REMOTE_ADDR"]) )
    { 
    $ip = $_SERVER["REMOTE_ADDR"] ; 
} 
else if ( isset($_SERVER["HTTP_X_FORWARDED_FOR"]) )    
{ 
     $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; 
}
 else if ( isset($_SERVER["HTTP_CLIENT_IP"]) )    
 { 
     $ip = $_SERVER["HTTP_CLIENT_IP"]; 
} 
else 
{
$ip = "onbekend";
}
$time = date();
echo $time;
$result = mysql_query("SELECT * FROM bezoekers
WHERE ip='$ip'");
if ($result = 0)
{
echo "test";
mysql_query("INSERT INTO bezoekers (ip,  laatstebezoek)
VALUES ('$ip', $time)");
}

ik kijk dus eerst of het ip te vinden is,
als dit te vinden is en nog niet bestaat moet die in een database geplaatst worden.
dit lukt mij niet.
maar schijnbaar komt hij niet eens bij mijn echo "test".
 
Mag ik vragen waarom je 'else if' hebt ipv 'elseif'? En bij de input ben je bij $time de ' vergeten.
 
Waarom niet
[sql]
INSERT INTO
bezoekers (
ip,
laatstebezoek
)
VALUES (
'127.0.0.1',
NOW()
);[/sql]
zoals Supersnail eerder al aangaf?

Dat een database-veld op type TIMESTAMP staat betekent niet dat het een UNIX Timestamp is ;)
The TIMESTAMP data type is used for values that contain both date and time parts. TIMESTAMP has a range of '1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC.

Bron: https://dev.mysql.com/doc/refman/5.5/en/datetime.html
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan