Avatar billede likedon Nybegynder
24. maj 2003 - 16:20 Der er 8 kommentarer og
2 løsninger

Anbefal funktion - amazon

Jeg vil gerne lave en anbefal bøger funktion.

kunde a har købt: bog1, bog2, bog3

kunde b har købt: bog1, bog3, bog4

kunde c har købt: bog2, bog3, bog5


Nu kommer kunde d og han køber bog1
han skal så have anbefalt de børger som andre kunder har købt der også har købt bog1 altså:
bog2, bog3, bog3, bog4

De skal så listes i række følge efter antal så bog3 kommer til at stå øverst og kun engang.

hvordan griber jeg lige det an??
Avatar billede likedon Nybegynder
25. maj 2003 - 11:31 #1
Nu har jeg afsat flere point.
Det er hjælp til SQl-sætningen jeg er ude efter, ikke et færdigt system.
Avatar billede likedon Nybegynder
26. maj 2003 - 10:59 #2
Vil jeg havde mere held med at flytte den til en anden kategori??
Det haster nemlig lidt
Avatar billede darkwingduck Nybegynder
26. maj 2003 - 11:08 #3
Du må nok hellere uddybe din tabelstruktur en anelse, men der er ingen tvivl om at dette er en af de noget sværere.

Vil kigge lidt på det efter arbejde
Avatar billede likedon Nybegynder
26. maj 2003 - 11:10 #4
Jeg har ikke nogn tabelstruktur endnu.
Gætter selv på at det er noget med at man skal lave et images af query og så lave en ny query på dette. eller hvad det nu hedder.
Avatar billede karsten2004 Nybegynder
26. maj 2003 - 11:34 #5
En måde at gøre det på er følgende:
Lav en table alla det her
BOG_KOBT  BOG_REF  HITS

det er selvfølgelig id på bøger og antal hits i den sidste.

Det man gør er så at når kunde X som i forvejen har købt nogle bøger opdateres denne tabel. Eks. X køber bog 3 og har i forvejen bog 2 (og ikke andet ..)

Så skal der i tabellen findes (oprettes hvis den ikke er der) en række der hedder - Findes den allerede (3 - 2) .. så ligges der bare en til hits. (evt. kan du også opdatere (2 - 3) - altså den 'omvendte' - afhænging af din functionalitet..)

BOG_KOBT  BOG_REF  HITS
3          2        1

Det er vist ideen i det. Når man så skal have fundet det andre har købt, søges i denne tabel efter BOG_REF - i dit eksempel bog1 (ID) .. order by hits.. vupti en ordered liste med referencer og den der er 'flest hits på' øverst :-) .. det er sådan amazon er skruet sammen.
Avatar billede likedon Nybegynder
26. maj 2003 - 12:54 #6
Tak det lyder ikke helt dumt.  Jeg prøver det lige i aften, og virker det så er de 200 dine :)
Avatar billede likedon Nybegynder
26. maj 2003 - 19:16 #7
Jeg fik det her af en amerikaner men kan ikke få det til at virke:

Customer      ISBN
A                    book1
A                    book2
A                    book3
B                    book1
B                    book3
B                    book4
C                    book2
C                    book3
C                    book5

select  f1.ISBN , count(f1.ISBN) as popularity
from customerFile f1
where f1.customer in (
        Select f2.customer
          from customerFile f2
          where f2.ISBN='book1'
          )
group by f1.ISBN
order by popularity desc
Avatar billede likedon Nybegynder
28. maj 2003 - 11:28 #8
For dem der er interesserede så har jeg spørgsmålet kørende her også. Er der nogen herfra der svare i det andet så får de self stadig point.
http://www.experts-exchange.com/Web/Web_Languages/ASP/Q_20626269.html

PS. ved ikke om det er tilladt at linke til ovenstående??
Avatar billede likedon Nybegynder
30. maj 2003 - 08:16 #9
Og resultet blev:

Customer      ISBN
A                    book1
A                    book2
A                    book3
B                    book1
B                    book3
B                    book4
C                    book2
C                    book3
C                    book5

SQL = "select f1.ISBN , count(f1.ISBN) as popularity from customerFile f1 where f1.ISBN <> 'book1' and f1.customer in (Select f2.customer from customerFile f2 where f2.ISBN='book1') group by f1.ISBN order by 2 desc"


Alt sammen i en tabel, for fed! karsten du får dog nogle pt, da din også vil virke, den er bare knap så fed ;)
Avatar billede karsten2004 Nybegynder
30. maj 2003 - 22:26 #10
Mange tak :-) .. og du har ret!. Det jeg skrev er egentlig en måde til at logge hvor brugere klikker sig hen - altså flowet i brugsmønstre. Men du har jo allerede gemt de data i basen (når en bruger har købt en bog) - så selvfølgelig ...
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
Kurser inden for grundlæggende programmering

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