Redigeret svar
Hvis du vil bruge en almindelig TIMESTAMP
feltet i MySQL, skal du først oprette feltet.
ALTER TABLE `YourTable` ADD `LastAccessed` TIMESTAMP ON UPDATE CURRENT_TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ;
Når du har opsat feltet, kan du lade det være. Når du indsætter et registreringspas null
som værdien, og den vil som standard være den aktuelle tid. Når du opdaterer posten, vil tiden blive justeret.
For at hente tiden fra TIMESTAMP
skal du køre din valgforespørgsel og få dine resultater. Til illustrative formål vil dette se nogenlunde sådan ud:
//Integrate this into your existing code
$result = mysqli_query($connection, "SELECT LastAccessed FROM YourTable"); //get only the time field for this example
$row = mysqli_fetch_array($result);
$time = new DateTime($row['LastAccessed']); //The constructor accepts the time information as an argument
echo $time->format("H:i:s"); //This is your time information.
Da du har en TIMESTAMP
feltet nu, vil databasen ikke kun tage ansvaret for at opdatere den med det korrekte tidspunkt, men du kan altid ændre $time->format()
metodes argument for at producere en streng med tidsdata på en række forskellige måder.
Tidsstemplet bliver abstraheret, og din applikation får fleksibilitet.
Win-Win, ikke?
Originalt svar
Opret en char(8)
kolonne i MySQL og send den derefter output fra et opkald til:
date("H:i:s");
Selvom det ville være optimalt at bruge et tidsstempelfelt i MySQL, i betragtning af at du kan få det opdateret, når posten interageres med. Du har ikke at bruge hele tidsstemplet.