webForumDet fria alternativet

besökares väg genom siten

Databaser & SQL

7 svar · 347 visningar · startad av clown

Medlem sedan juni 2000126 inlägg
Frågan#1

Hej,

jag sparar undan varje sidträff med sidans id, tiden för besöket samt besökarens id.
Tabell:
UserId, Time, PageId

Kan jag på något sätt få fram hur besökarna navigerar från framsidan (i procent) vidare till någon av mina undersidor och vidare i 4 steg?

Räcker de 3 kolumnerna här uppe, eller behöver spara undan någon annan information?
Hur ser SQL koden ut får att få fram i procent hur besökarna har navigerat i 4 steg idag eller senaste veckan eller senaste månaden?

Tack på förhand!

Medlem sedan juni 2000126 inlägg
#2

Är det ingen som har något tips?

Hur har ni gjort för att spåra hur besökarna surfar genom er site?

Medlem sedan feb. 200112 078 inlägg
#3

Jag hade nog blandat med ett ID som är unikt för varje besökstillfälle, t.ex. ett SessionId, som extra kolumn. På det sättet kan du spåra den specifika användaren från tillfälle till tillfälle. Som du har det idag får du problem då en användare kan återvända igen, med samma UserId. Visserligen, du kan ju använda datumet för detta, men det känns upplagt för buggar om du har t.ex. nattliga besökare som överskrider dygnsgränser.

Hur vill du få fram procent, förresten?

Medlem sedan maj 20031 472 inlägg
#4

Kör man med Unixtid så försvinner chansen för att man ska få massa buggar när klockan byter till ny dag.

Medlem sedan juni 2000126 inlägg
#5

Hej,

tack för att ni funderar på mitt problem.
Jag vet om att man kanske skulle spara undan sessions id oxå, så att man får ut mer exakt data,
men hur gör jag för att få ut intressant data av den jag har??

Om jag vet att min framsida har Pageid = 1
så kan jag ju givetvis kolla hur många som har besökt den sidan

select count(*) from tabell where pageid=1 and time between yeterday and today

Men hur gör jag för att se var dem tar vägen efter det?
Alltså hur många(Både i procent och antal) går till sidan 2 efter att ha besökt sidan 1 under de senaste 24 timmarna?

Vore det enklar om jag i min tabell hade RefPageID så jag såg från vilken sida dem kom från när dem besökte en viss sida?

Då kan jag ju skriva, typ:

SELECT count(PageId), PageId from tabell where RefPageID=1 and time between today and yesterday
Group by PageId

Men RefPageId har jag ju inte (än)
Så hur gör jag med den datat som jag har?

Några tips? Lite SQL kod?

Medlem sedan juli 20003 825 inlägg
#6

du vet vilken sida som besökaren befinner sig på,

response.write Request.ServerVariables("PATH_INFO")

Medlem sedan juni 2000126 inlägg
#7

Tack för inlägget, men att spara undan informationen i databasen är inte det jag behöver hjälp med.
Det jag behöver är SQL kod som ger :

(PageID -1= ingen sida alls
PageID 1 = Framsida
PageID 2,3,4,5,11,12,13 = undersidor)

PageID, Procent, RefPageID
1, 100, -1
2, 25, 1
3, 25, 1
4, 50, 1
11, 10, 2
12,10,2
13,5,2

osv osv

Hur gör jag det?

Medlem sedan mars 20034 471 inlägg
#8

clown skrev:

...Det jag behöver är SQL kod som ger :

(PageID -1= ingen sida alls
PageID 1 = Framsida
PageID 2,3,4,5,11,12,13 = undersidor)

PageID, Procent, RefPageID

//Från första inlägget
Tabell:
UserId, Time, PageId

Jag tror att du ska tänka om lite...

Om du skriver:
SELECT PageId, COUNT(Time) FROM Tabell
GROUP BY PageId;

Så kommer du att få ut antal gånger som ett visst PageId har laddats totalt sett. Detta kan du använda för att räkna ut procenten.

Det totala antalet laddningar är ju summan av de COUNT:s du får ut från databasen, så alltså kan du beräkna procenten i det språk du skriver i när du använder resultatet. (ASP, PHP...)

Men om du vill koppla det till vad varje användare har gjort då måste du göra någon typ av session-hantering (eller COOKIES) för annars har du ingen möjlighet att skilja ut en dator från en annan.

257 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)