Avatar billede superole Nybegynder
04. februar 2001 - 11:27 Der er 11 kommentarer og
1 løsning

Hent data fra bestemt post i databasen + tæl kolonne sammen

Jeg har på min hjemmeside lavet et tæller system på den måde, at hver gang med klikker på en side, tæller den en op i databasen.

Nu er jeg så ved at lave en side hvor man kan se alle de hits der er lavet på siden.

Da jeg geren vil have siden hvor man kan se antal hits på de forskellige sider til at stå på en lidt speciel måde, kan jeg ikke bruge et standard database udtræk, hvor den henter alt hvad der er af poster i database og sætter i en tabel eller lign.

Men hvordan laver jeg et udtræk som f.eks. i det felt jeg har der hedder links laver det sådan, så jeg indtaster at links er id nr 3 i databasen, så den går ind og henter data fra feltet hits som har id 3 eller lign.

Jeg vil også gerne kunne se total antal hits, så hvordan laver jeg et udtræk som tæller hele kolonnen hits sammen
Avatar billede eagleeye Praktikant
04. februar 2001 - 11:33 #1
strSQL \"SELECT * FROM dintabel WHERE id=\" & linkid


linkid er eks 3.
Avatar billede eagleeye Praktikant
04. februar 2001 - 11:35 #2
Der mangler lige =..
strSQL = \"SELECT * FROM dintabel WHERE id=\" & linkid

Så kan du benytter
felt = rs(\"feltnavn\")

Avatar billede lp Nybegynder
04. februar 2001 - 11:47 #3
SQL=\"select sum(felthvortalståri) as found from dintabel where linkid = \" & linkid
set rs = dinconnection.execute(SQL)

total = rs(\"found\")

men du forklarer dig ikke så godt, prøv evt. at vise hvordan dine poster står i databasen, så kan jeg bedre hjælpe dig, hvis dette ikke virker!
Avatar billede eagleeye Praktikant
04. februar 2001 - 11:48 #4
strSQL = \"SELECT SUM(ditfelt) As ditfeltSum FROM dintabel\"

connect til databasen og få indholdet ind i et recordset. rs = connection.execute strSQL

antalHits = rs(\"ditfeltSum\")
Avatar billede lp Nybegynder
04. februar 2001 - 11:51 #5
ehhmm, eagleeye, hvad er forskellen?
Avatar billede eagleeye Praktikant
04. februar 2001 - 11:52 #6
på hvad ??
Avatar billede superole Nybegynder
04. februar 2001 - 11:54 #7
Jeg tror ikke jeg her forkalret mig tydelig nok. Først skal det lige sige at jeg her ikke prøvet nogle af de ting i er kommet med endnu. Jeg er også nybegynder til asp, men så hvidt jeg kan se vil jeres forslag kun hente den post der har id=3
Jeg skal ikke kun hente id 3 men alle posterne id 3 vare bare et eksempel.

Det jeg skal bruge, er at jeg skal kunne bestemme hvor f.eks. det skal indsætte hits fra id 3 og at den skal indsætte hits fra id 27 et andet sted.
Avatar billede eagleeye Praktikant
04. februar 2001 - 11:56 #8
strSQL = \"SELECT * FROM dintabel WHERE id=\" & linkid

Hvis linkid er 3 får du alle poster hvor linkid er 3.
Avatar billede lp Nybegynder
04. februar 2001 - 11:58 #9
prøv at starte helt forfra og forklar igen, det bliver lidt for forvirrende nu!
Avatar billede eagleeye Praktikant
04. februar 2001 - 12:01 #10
ja jeg har også lige læse det to gange,.. men er heller ikke helt med, afligevel.
Avatar billede superole Nybegynder
04. februar 2001 - 12:31 #11
Jeg har prøvet at lave en skitse af hvordan det skal virke.

http://www.sejs.dk/adm/stat.htm

Designet skal ikke være sådan, da jeg så lige så godt kunne lave et almindelig udtræk, men det er sådan det skal virke.

Jeg vil selv kunne skrive de forskellige sidenavne ind, da der skal være nogle forskellie kategorier, men i feltet hits, skal den hente det fra databasen, og for at de forskellige hits skal komme til at passe, så der ud for forside står de hits der hører til forsiden, er jeg nød til at bestemme hvilken post den skal hente de forskellige ting fra og sætte ind de forskellige steder.


Håber det er bedre!
Avatar billede eagleeye Praktikant
04. februar 2001 - 18:00 #12
Jeg er vist ikke helt med enddnu for jeg vil mene at du skal hendte AntalHits for forside(id=3)

strSQL = \"SELECT * FROM dintabel WHERE id=\" & linkid

Hvis du sætter linkid = 3 så får du rækken(erne) hvor linkid = 3.

udfør SQL strengen eks.vis med:
Set rs = connection.execute(strSQL)

Forside Hits = rs(\"antalHits\")
Hvis du skal skrive tallet ud så skal du enten skrive Response.Write rs(\"antalHits\") eller <%=rs(\"antalHits\")%>

Din side vil eks.vis se sådan ud:

<table border=\"1\" width=\"100%\">
  <tr>
    <td width=\"33%\">Side</td>
    <td width=\"33%\">Hits</td>
  </tr>
  <tr>
    <td width=\"33%\">Forsiden</td>
    <td width=\"33%\">
    <%
    strSQL = \"SELECT * FROM dintabel WHERE linkid=\" & 3
    Set rs = Con.Execute (\"strSQL\")
    Response.Write rs(\"hitAntal\")
    %></td>
  </tr>
  <tr>
    <td width=\"33%\">Links</td>
    <td width=\"33%\">
    strSQL = \"SELECT * FROM dintabel WHERE linkid=\" & 27
    Set rs = Con.Execute (\"strSQL\")
    Response.Write rs(\"hitAntal\")
    %></td>
  </tr>
  <tr>
    <td width=\"33%\">osv. osv.</td>
    <td width=\"33%\">&nbsp;</td>
  </tr>
</table>

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