Avatar billede loevstroem Nybegynder
12. januar 2009 - 23:34 Der er 2 kommentarer og
1 løsning

Array remove key if duplicate

Kære Eksperter!

Jeg logger mine brugeres historik forefter at printe den til brugerne selv, hvad de senest har foretaget sig på sitet..

Jeg har dog et problem hvis en bruger ivrigt kommentere et indlæg/emne flere gange inden for en periode, altså vil samme aktivitet fremtræde flere gange i træk (selvom det kun er relevant at han har gjort det én gang)

Mit array består af et tidsstempel samt "handlingen".

Jeg ønsker en funktion til at gennemgå hele arrayet, og hvis der findes to identiske af samme type handling, inden for en ramme af 30 min- skal den ene fjernes..

Array
(
[1231798656] => Anders And kommenterede Andeby
[1231795873] => Anders And kommenterede Andeby
[1231795859] => Anders And legede i hoppeborgen
[1231711095] => Anders And spise frokost
[1231685329] => Anders And kommenterede Andeby
}

Hvorledes gøres dette??


På forhånd mange tak
Avatar billede showsource Seniormester
13. januar 2009 - 00:32 #1
I din query ?

Evt. med array_unique()
Avatar billede loevstroem Nybegynder
13. januar 2009 - 10:32 #2
Hvis vi skal tage udgangspunkt i querien..

Min tabel ser således ud: (her har brugeren foretaget samme handling, inden for en kort periode af et par minutter)

id    type    author    target    target_b    time
16    10      1        0        2          1230426016
17    10      1        0        2          1230426224

(target + target_b kan indeholde id på tabelnavne/kolonner, afhængig af type)


Og min query ser således ud:

SELECT ua.*, u.name FROM useractivities AS ua INNER JOIN users AS u ON ua.author = u.id WHERE author = '{$uid}' ORDER BY ua.time DESC LIMIT 0,{$max_events}

Så altså noget I min select med hvis type er den samme og target_a og target_b er er ens indenfor et bestemt time- select den ene? Jeg er stadig blank hvordan querien skal laves :)

Alle forslag er velkomne!
Avatar billede loevstroem Nybegynder
19. januar 2009 - 22:46 #3
Jeg fandt en metode der kunne tjekke inden "aktiviteten" blev gemt - jeg vælger at lukke til egen fordel :~)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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