Skal den så se sådan her ud? sql = "select round(hitsfound*0.2+found+found*3,2) as antal from brugere where username=true order by round(hitsfound*0.2+found+found*3,2) desc"
eller bare! sql = "select ' form brugere where username=true order by round(hitsfound*0.2+found+found*3,2) desc"
Hmmfor fejl på den, for en fejl der siger: Too few parameters. Expected 2.
Min komplete kode ser sådan her ud. <% id = Request.QueryString("id") Set connect = Server.CreateObject("ADODB.Connection") Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/forum1.mdb") sql = "Select sum(hits) as hitsfound From links where BrugerID = " & ID & ";" Set rs3 = Server.CreateObject("ADODB.Recordset") set rs3 = Connect.execute(SQL)
sql = "Select count(*) as found From kommentare where BrugerID = " & ID & ";" Set rs32 = Server.CreateObject("ADODB.Recordset") set rs32 = Connect.execute(SQL)
sql = "Select count(*) as found From emner where BrugerID = " & ID & ";" Set rs33 = Server.CreateObject("ADODB.Recordset") set rs33 = Connect.execute(SQL)
Set connect = Server.CreateObject("ADODB.Connection") Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("db/forum1.mdb") sql = "select round(hitsfound*0.2+found+found*3,2) as antal from brugere where username=true order by round(hitsfound*0.2+found+found*3,2) desc" Set rs78 = Server.CreateObject("ADODB.Recordset") set rs78 = Connect.execute(SQL) count = 50 While not rs78.eof and count > -1 count = count -1 %> <a href="visprofil.asp?id=<%=RS78("ID")%>"><%=RS78("username")%></a> <% rs78.MoveNext Wend %>
Håber bare du vil hjælpe mig igennem det. På forhånd mange tak.
Arh, så det er ikke kolonne i samme tabel. Så kan det ikke gøres som vist.
Så skal du slå dem alle sammmen i SQL sætning med JOINS:
sql = "select brugere.id, brugere.username, round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) as antal from ((brugere inner join links on brugere.id = links.brugerID) inner join kommentare on brugere.id = kommentare.brugerid) inner join emner on brugere.id = emner.brugerid where username=true and brugere.id = " & ID & " group by brugere.id, brugere.username order by round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) desc"
Jojo det virker nu, men ikke helt som jeg ønsker det den udksriver jo kun en fordi den for fra URL'en altså: id = Request.QueryString("id") Så skriver den kun en bruger. Hvis du jeg gerne vil lave et loop så den kigger hele min database igennem og finder de 10 bruger med den højeste.
Nu skal nok få alle min point hvis du hjælper mig igennem dette.
Ok, så fjerner du bare dette fra where delen and brugere.id = " & ID & " og sætter en top 10 ind i toppen sådan her:
sql = "select top 10 brugere.id, brugere.username, round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) as antal from ((brugere inner join links on brugere.id = links.brugerID) inner join kommentare on brugere.id = kommentare.brugerid) inner join emner on brugere.id = emner.brugerid where username=true group by brugere.id, brugere.username order by round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) desc"
Forstår ikke helt hvad du mener med at jeg skal sætte det ind i toppen. Hvis du vil indsætte det i koden ville det være super :D Så kan jeg se hvad du mener på forhånd tak ;)
sql = "select top 10 brugere.id, brugere.username, round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) as antal from ((brugere inner join links on brugere.id = links.brugerID) inner join kommentare on brugere.id = kommentare.brugerid) inner join emner on brugere.id = emner.brugerid where username=true group by brugere.id, brugere.username order by round(count(links.hits)*0.2+count(kommentare.brugerID)+count(emner.brugerID)*3,2) desc"
Set rs78 = Server.CreateObject("ADODB.Recordset") set rs78 = Connect.execute(SQL) count = 50 While not rs78.eof and count > -1 count = count -1 %> <a href="visprofil.asp?id=<%=RS78("ID")%>"><%=RS78("username")%></a> <% rs78.MoveNext Wend %>
Så var den der, det er bare super, mange tak for hjælpen laver i en tråd til dig hvor du lige for lidt extra point. Du har bare vild til det asp der, hvor har du endenlig lært det?
Så var den der, det er bare super, mange tak for hjælpen laver i en tråd til dig hvor du lige for lidt extra point. Du har bare vild til det asp der, hvor har du endenlig lært det?
ok tak ;) Jeg har programmeret meget i forbindelse med arbejde, og så kastede jeg mig over ASP da jeg skulle prøve at rode med databaser og hjemmesider..
Prøv at udskrive antal i den sidste det passer vist ikke??
Prøv at bruge denne SQL sætning i stedet for:
sql = "SELECT * FROM (SELECT brugere.id, brugere.username, round( (select count(links.hits) from links where links.brugerid=brugere.id)*0.2+(Select count(kommentare.brugerid) From kommentare where kommentare.BrugerID=brugere.id) + (select Count(emner.brugerid) from emner where brugerid=brugere.id)*3,2) AS antal FROM brugere WHERE brugere.username<>'b' GROUP BY brugere.id,brugere.username) ORDER BY antal DESC"
sql = "SELECT * FROM (SELECT brugere.id, brugere.username, round( (select count(links.hits) from links where links.brugerid=brugere.id)*0.2+(Select count(kommentare.brugerid) From kommentare where kommentare.BrugerID=brugere.id) + (select Count(emner.brugerid) from emner where brugerid=brugere.id)*3,2) AS antal FROM brugere WHERE brugere.username=true GROUP BY brugere.id,brugere.username) ORDER BY antal DESC"
Synes godt om
Ny brugerNybegynder
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.