Toon posts:

[php+mySQL] Regdate en Lastvisit

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben nu met een inlog systeem bezig voor mijn nieuwe site. Heb nu het grootste deel al werkend.

Alleen er zijn 2 dingen die niet lukken:

de regdate, dus de datum waarop een user registreerd. Dit gebeurd bij mij door een bestand register.php. Zover ik weet moet daarin dus een stukje code komen dat een datum in mijn MySQL database zet.

de lastvisit, dat is de datum waarop iemand als laatste heeft ingelogd of wanneer hij/zij mijn site weer heeft bezocht. Als eerste wil ik het alleen even werkend proberen te krijgen voor wanneer en weer ingelogd wordt.

Weet iemand hoe ik deze 2 datums in mijn database kan krijgen.
De timestamp variabele heb ik al geprobeerd voor de lastvisit, maar die wordt alleen veranderd bij een update van het record en dat is niet de bedoeling.

Verwijderd

deze kan je alleen maar veranderen door een update, of als hij visit oude record verwijderen en nieuwe inserten, anders kan je het niet opslaan.

Verwijderd

Topicstarter
Bij het registeren is er toch wel een manier op het veld van een datum te voorzien. :?

Verwijderd

bij het registreren wel, maar bij lastvisit niet

Verwijderd

Topicstarter
Dan zou ik mijn lastvisit kunnen veranderen tot de datum wanneer voor het laatst het profiel is geupdate, maar wordt dan vrij nutteloos. Dan dat veld er maar uit halen.

Nu alleen nog even een oplossing voor de registratie datum. :?

Verwijderd

of bedoel je hoe je de datum krijgt zoals onderstaand?

PHP:
1
2
3
$today = date("m.d.y");

mysql_query("INSERT INTO $registratie_tabel ('userid', 'registratiedatum') VALUES ('$Uid', '$today'");

Verwijderd

met het eruithalen bedoel ik deleten en weer terug invoeren met laatste visit tijd :D

Verwijderd

Topicstarter
Oh is dat alles.
Dan zelf nog ff een klein stukje toevoegen voor de tijd en klaar ben ik dan.

Verwijderd

Topicstarter
Verwijderd schreef op 09 augustus 2002 @ 23:31:
met het eruithalen bedoel ik deleten en weer terug invoeren met laatste visit tijd :D
Sorry, maar deze vat ik even niet.

Verwijderd

Verwijderd schreef op 09 augustus 2002 @ 23:27:
Dan zou ik mijn lastvisit kunnen veranderen tot de datum wanneer voor het laatst het profiel is geupdate, maar wordt dan vrij nutteloos. Dan dat veld er maar uit halen.

Nu alleen nog even een oplossing voor de registratie datum. :?
veld hoeft er niet uit, alleen updaten voor last visit kan op 2 manieren, jij zegt dat je update (de functie in mysql) niet wilt gebruiken, dan kan je deze ook vernieuwen door de oude kolom met zijn userid te verwijderen en nieuwe met zijn userid en huidige tijd / datum in te voeren

Verwijderd

Topicstarter
Dus jij zegt dat ik kan het hele record dan moet verwijderen en weer helemaal opnieuw moet invoegen. Dat vind ik niet echt een fijne manier hoor.

Ik kan dan wel beter een update doen ipv een record verwijderen en opnieuw invoegen.
Zijn namelijk zo'n 20 velden.

Verwijderd

Verwijderd schreef op 09 augustus 2002 @ 23:38:
Dus jij zegt dat ik kan het hele record dan moet verwijderen en weer helemaal opnieuw moet invoegen. Dat vind ik niet echt een fijne manier hoor.

Ik kan dan wel beter een update doen ipv een record verwijderen en opnieuw invoegen.
Zijn namelijk zo'n 20 velden.
ik dacht dat je hierboven zei dat je die niet wou gebruiken, mijn mistake

Verwijderd

Topicstarter
Ik maak geen gebruik van een update omdat ik het dus niet nodig heb. Maar als bijvoorbeeld 1 veld updaten via een simpele manier een mogelijkheid is vind ik dat dus beter als een record weghalen en helemaal opnieuw invoegen.

Verwijderd

gebruik dan gewoon een update?!

Verwijderd

Topicstarter
Ben ik nu ook wel van plan hoor, nu ik weet dat ik die 2de manier helemaal niets vind.
Moet alleen nog even verzinnen hoe ik dat dan ga doen.

Ik kan het wel maken net als die andere code hierboven in dit topic, maar dan dus het andere veld updaten bij een login. Dat lijkt mij dus de simpelste oplossing.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Zorg ervoor dat je bij elke visit gewoon zoiets doet:
UPDATE dingestabel SET lastvisit = NOW() WHERE bezoeker = $ikke;

Verwijderd

Topicstarter
Dus ik heb je tabel leden in mijn geval met lastvisit veld en username.

Dus kan ik kan gewoon dit doen:
UPDATE leden SET lastvisit = NOW() WHERE ... = $username.

Maar dat deel waar dus nu die ... staat snap ik even niet.
Wat moet daar dan komen ?

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 10 augustus 2002 @ 00:08:
Dus kan ik kan gewoon dit doen:
UPDATE leden SET lastvisit = NOW() WHERE ... = $username.

Maar dat deel waar dus nu die ... staat snap ik even niet.
Wat moet daar dan komen ?

Wat is er niet aan te snappen :?

Je hebt zelf je tabel gemaakt met een serie velden erin, die velden kan je prima selects op doen, en het WHERE deel van een update mag weliswaar niet zo complex zijn als bij een select (als in, er mag over het algemeen maar 1 tabel gebruikt worden), maar is niks moeilijker daarbij.

Verwijderd

Topicstarter
Ik snap hem al, niet zo moeilijk eigenlijk.

En die NOW() die je nu net hierboven gebruikt kan ik ook voor mijn registratiedatum gebruiken. Dan hoef ik niet die $today = date("m.d.y"); te gebruiken en bespaard me weer een regel.

Verwijderd

die $today haalt het uit de timestamp modus van php... bij die van mij zie je metaan de datum staan, gebruik je now() dan heb je unix timestamp (volgens mij) dat terugzetten naar normale datum neemt weer meer regels in :D

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 10 augustus 2002 @ 15:53:
die $today haalt het uit de timestamp modus van php... bij die van mij zie je metaan de datum staan, gebruik je now() dan heb je unix timestamp (volgens mij) dat terugzetten naar normale datum neemt weer meer regels in :D

Now() neemt het type waar ie ingezet moet worden.

Dat regelt mysql allemaal voor je en zal, als je over efficientie wilt hebben, beter zijn dan eerst de tijd in text-vorm meegeven aan je db en die dan weer te converteren.

Verwijderd

Topicstarter
Heb hem nu al werkend met NOW() en het veldtype DATETIME.
Werkt perfect.

Thnx !

Verwijderd

ahh dat wist ik niet, is ook voor mij nieuw :D

Verwijderd

Topicstarter
Nu moet ik voor die update nog wel een geschikte pagina vinden, dus misschien wel handig om dan een update te zetten in mijn header. Die wordt namelijk op elke pagina getoond.

Of heeft iemand hier een andere mening over. :?

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Denk, zo snel lezend, dat iedereen wel de mening zou hebben van: Sjees, probeer het gewoon eens.. als het niets is kan je het altijd nog aanpassen..

PHP/MySQL leren is gewoon kwestie van veel doen en proberen..

42

Pagina: 1