Avatar billede thewizard Nybegynder
07. februar 2008 - 00:01 Der er 8 kommentarer og
1 løsning

Den ultimative hjernevrider, om mySQL og timestamp

Okay champs - her er en til de dygtige.

Jeg har en liste med bruger-Timestamps (lasttimestamp), som er timestamps (now) som bliver opdateret, hver gang en bruger sidst har opdaterer sin chat.

Dvs. når han skal finde ud af om der er kommet nye beskeder i databasen, så må timestamp på de "nye" beskeder i databasen være;

timestamp < lasttimestamp

derfor hedder SQL sætningen:

  strSQL = "SELECT * FROM chatguild where timestamp < '" & lasttimestamp & "'"


Men den spytter intet ud, når jeg laver et loop til EOF?

Selecter jeg i stedet alt;

  strSQL = "SELECT * FROM chatguild"

Laver et loop, og siger;

Udskriv alt, hvor; timestamp < lasttimestamp
Så får jeg alle nye beskeder.

Fatter det ikke, håber nogen kan hjælpe.
Avatar billede showsource Seniormester
07. februar 2008 - 00:22 #1
Du roder nok lidt rundt i din "hvad er nyere" halløj.

Når bruger opdaterer siden, gemmer du tid. ( lige nu )
Og så er der jo ingen nye beskeder, da brugeren jo lige har opdateret siden.
Avatar billede thewizard Nybegynder
07. februar 2008 - 00:54 #2
nix er ikk det.

Kan godt få beskederne spyttet ud, hvis jeg selecter alt og gør det "manuelt".
[quote]
Selecter jeg i stedet alt;

  strSQL = "SELECT * FROM chatguild"

Laver et loop, og siger;

Udskriv alt, hvor; timestamp < lasttimestamp
Så får jeg alle nye beskeder.
[/quote]

Tror det er pga. mySQL/VB osv. ikk benytter millisekunder.
Avatar billede thewizard Nybegynder
07. februar 2008 - 00:55 #3
:) Hvilket er idiotisk...
Avatar billede thewizard Nybegynder
07. februar 2008 - 00:57 #4
lasttimestamp = gammel tid, da brugerens chat sidst blev opdateret
timestamp = tid-stamp på beskeder i databasen

Hvis timestamp er nyere end lasttimestamp, så skal beskederne hives ud... Suk. Er sikkert pga. det med millisekunder, dvs. 500 linier kode mere. Great.
Avatar billede showsource Seniormester
07. februar 2008 - 01:10 #5
Nej nej, det tror jeg ikke på, ( 500 linier mere kode )

Fra bunden af:

En bruger opdaterer browseren.
Hvad gemmer du så?

En bruger taster en besked.
Hvad gemmer du så?
Avatar billede showsource Seniormester
07. februar 2008 - 01:12 #6
eehhh, og du gør det i asp? ( kender jeg INTET til )

Gemmer du tiden i sekunder?
Kunne måske ændres til DATETIME, og så sammenligne med NOW()
Avatar billede smitten1 Nybegynder
07. februar 2008 - 01:14 #7
I stedet for et timestamp, kunne du give hver bruger et besked-id, og så hente alle beskeder med højere id.
Avatar billede thewizard Nybegynder
07. februar 2008 - 02:25 #8
Programmerer det i VB :)

Jeg har  valgt at tillægge posts i millisekunder, det løste problemet devist.

Men tak for jeres posts. Altid godt at ha' nogen til at lytte til ens brok ;).
Avatar billede thewizard Nybegynder
07. februar 2008 - 02:25 #9
Lukker spørgsmålet - sorry champs :).
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester