Avatar billede webcreator Nybegynder
03. maj 2003 - 21:35 Der er 39 kommentarer og
1 løsning

Tæl antal poster med specielt navn

Hej.

Jeg sidder her med en database, der indeholder forskellige data samt navnet på en person, der har tilmeldt data'et. Jeg vil nu lave en oversigt over personer, der har smidt data i databasen, samt udskrive antallet af poster de har lavet.

Nogen der har erfaring med dette, og som kan give mig eksempler herpå ?

- tak
Avatar billede lester_dk Nybegynder
03. maj 2003 - 21:38 #1
Jeg går ud fra at denne person har et unikt ID og der refereres til netop dette ID ved de posteringer denne person har lavet....

Så løber du indlæggene igennem og tæller......

Noget alá Select feltnavn from t_posteringer WHERE postID=1

Så laver du en counter der ligger en til for hvert gennemløb.....
Avatar billede webcreator Nybegynder
03. maj 2003 - 21:40 #2
Nej, hver person har ikke et ID nr. Dette genereres for hvert input.
Avatar billede lester_dk Nybegynder
03. maj 2003 - 21:41 #3
hmm.. hvordan vil du så tracke hvem der har lavet hvad... vel ikke på navn... hvilket jo netop ikke er unikt.....
Avatar billede webcreator Nybegynder
03. maj 2003 - 21:44 #4
Ok, kort og godt vil jeg have, at en liste genereres over brugerne (kolonnen hedder "navn"). efterfølgende vil jeg have en udskrift over, hvor mange gange hvert navn optræder i føromtalte kolonne.
Avatar billede lester_dk Nybegynder
03. maj 2003 - 21:46 #5
hmmm... og hvad skulle det kunne vise?

At x antal tilfældige personer har lavet posteringer under ET bestemt navn!!!

Har du et sted hvor man kan se det du har lavet.
Avatar billede webcreator Nybegynder
03. maj 2003 - 21:50 #6
Det er det samme antal personer der går og indtaster nu og da. Folk er jo oprettede, og kan ikke ændre deres navn..

- nej, det kan ikke ses.
Avatar billede ellebaek Nybegynder
03. maj 2003 - 21:50 #7
sql = "select count * as found from tabel where navn = '"& request("navn")&"'"

Med denne sql får du alle de poster fra en tabel hvor navn er lig et navn du sender siden. ret lige request("navn") selv.

Derefter udskriver du antaller med <%=RecordsetNavn("found")%>
Avatar billede webcreator Nybegynder
03. maj 2003 - 21:53 #8
Ellebaek > Mange tak for dit svar. Tjekker jeg lige med det samme ^_^
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:08 #9
Kan jeg skrive strSQL foran select-linien i stedet ?

Og hvorfor har ud ASP-start og slut commands på udskrift-commandoen ? skal den ikke se således ud :

response.write RecordsetNavn("found") ?
Avatar billede ellebaek Nybegynder
03. maj 2003 - 22:09 #10
det var bare hvis det var i html du bruger <%=rs("found")%>

du kan kalde din sql hvad du vil...
strSQL er fint nok.
Husk at ændre RecordsetNavn til navnet på dit recordset...
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:09 #11
Min kode :

<%

' Der oprettes forbindelse til databasen
dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "select count * as found from tabel where navn = '"& request("navn")&"'"

Set rs = Cn.Execute(strSQL)

Response.write RecordsetNavn("found")

%>
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:10 #12
Jeg får fejl når jeg executer den.
Avatar billede ellebaek Nybegynder
03. maj 2003 - 22:10 #13
Hvordan finder du det navn du skal tælle med ??
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:11 #14
Du skal havde () omkring * i Count :

strSQL = "select count (*) as found from tabel where navn = '"& request("navn")&"'"
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:11 #15
Skriver jeg efter filnavnet :

http://localhost/test/test.asp?navn=Cool
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:14 #16
Prøver jeg lige :)
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:15 #17
Hm, jeg er ikke helt sikker på :

Response.write RecordsetNavn("found")

Min Kolonne hedder "navn" og min tabel hedder "anmeldelse" - noget der så skal ændres ?
Avatar billede ellebaek Nybegynder
03. maj 2003 - 22:16 #18
<%

' Der oprettes forbindelse til databasen
dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "select count * as found from anmeldelse where navn = '"& request("navn")&"'"

Set rs = Cn.Execute(strSQL)

Response.write rs("found")

%>
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:30 #19
Ok, lidt dumt at glemme at skrive tabelnavnet :)

- men det virker stadig ikke
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:32 #20
Husk nu der stadig skal () omkring *
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:36 #21
Har jeg smidt på
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:37 #22
Hvilken fejl får du?
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:41 #23
Kode :

<%

' Der oprettes forbindelse til databasen
dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "select count (*) as found from anmeldelse where forfatter = '"& request("forf")&"'"

Set rs = Cn.Execute(strSQL)

Response.write rs("found")

%>


URL :

http://localhost/test/test.asp?forf=Cool


Fejlkode :

NAVN error '80004005'
Unspecified error

/anime/taktil.asp, line 22
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:46 #24
øh der er slet ikke 22 linjer i koden.
Er det hele filen taktil.asp ?
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:48 #25
Nope, just the ASP
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:50 #26
Ok kan du så udpege linje 22?
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:52 #27
yep - det er den tomme linie mellem :

Set rs = Cn.Execute(strSQL)
-> HER
Response.write rs("found")
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:55 #28
Den tomme linje..hmm mærkeligt. Prøv at sæt curseren op efter &"'" og tryk på delete indtil linjen med Response.write er kommet helt hen til &"'" og lav et nyt linje skift.
Avatar billede eagleeye Praktikant
03. maj 2003 - 22:57 #29
Er der nogle data i databasen så du vil få et antal ud?

Normalt er det en god ide at tjekke på om det recordset man har fået er tomt for at undgå fejl når man udskriver.:

if not rs.EOF then
  Response.write rs("found")
else
  Response.write "Tomt recordset"
end if
Avatar billede webcreator Nybegynder
03. maj 2003 - 22:59 #30
Jeg tog fejl.

Det er linie 20 der er fejl i nu (foretog ikke nogen rettelser)

- Linie 20 : Set rs = Cn.Execute(strSQL)
Avatar billede eagleeye Praktikant
03. maj 2003 - 23:04 #31
Og du en kolonne som hedder forfatter ?
Avatar billede eagleeye Praktikant
03. maj 2003 - 23:05 #32
Prøv at tilføje linjen :
set rs = server.createobject("ADODB.RecordSet")

Lige efter linjen som ligner den med: set cn = server....
Avatar billede webcreator Nybegynder
03. maj 2003 - 23:10 #33
Sådan :

set cn = server.createobject("ADODB.Connection")
set rs = server.createobject("ADODB.RecordSet")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open


Samme fejl..
Avatar billede eagleeye Praktikant
03. maj 2003 - 23:13 #34
Har du skrive rettighed til den folder samt selv database filen?
Som beskrevet her: http://activedeveloper.dk/aspdigital/kapitel2/updateable_query.asp
Avatar billede webcreator Nybegynder
03. maj 2003 - 23:14 #35
ja
Avatar billede webcreator Nybegynder
03. maj 2003 - 23:20 #36
Jeg har erstattet : = '"& request("forf")&"'"
med : = Cool "

  - så kan vi udelukke en fejl der..
Avatar billede eagleeye Praktikant
03. maj 2003 - 23:25 #37
Mærkeligt prøv at bruge et andet navn en found eksvis antal:

strSQL = "select count (*) as antal from anmeldelse where forfatter = '"& request("forf")&"'"
Avatar billede webcreator Nybegynder
03. maj 2003 - 23:34 #38
Ny fejlkode :

Microsoft JET Database Engine error '80040e10'

No value given for one or more required parameters.

/anime/taktil.asp, line 14



Koden :

<%

' Der oprettes forbindelse til databasen
dbname=Server.MapPath("db.mdb")

set cn = server.createobject("ADODB.Connection")
' set rs = server.createobject("ADODB.RecordSet")
constr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & dbname
cn.connectionstring = constr
cn.open

strSQL = "select count (*) as antal from anmeldelse where forfatter = Jemt"

Set rs = Cn.Execute(strSQL)

Response.write rs("antal")

%>
Avatar billede eagleeye Praktikant
03. maj 2003 - 23:37 #39
Teksten skal hvade ' omkring i SQL sætningen:

strSQL = "select count (*) as antal from anmeldelse where forfatter = 'Jemt'"
Avatar billede webcreator Nybegynder
03. maj 2003 - 23:45 #40
Nå ja, det er rigtigt - takker, det hjalp :)
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