Avatar billede krel Nybegynder
16. september 2008 - 16:52 Der er 13 kommentarer

tælle poster i DB

Hej.

Jeg er ved at lave et mindre forum og vil gerne kunne tælle hvor mange indløg (og svar) de forskellige bruger har skrevet sådan at jeg kan lave en lille status side hvor en bruge kan se hvor mange indløg (og svar) han/hun har skrevet...

noget ala:
antal indlæg: 54
antal svar: 4

min DB er lavet sådan at der er en tabel til indlæg og en tabel med svar i disse står der hvilket brugernavn der har skrevet pågældende tekst så kunne forestille mig at det er noget med at sige hvis user = "bestemt brugernavn" (evt. session("bruger")) så skal strantal_inlag = +1

???
mvh
Kristian
Avatar billede Slettet bruger
16. september 2008 - 17:09 #1
Du kan lave et direkte udtræk fra databasen af.
f.eks. SELECT COUNT(*) as cnt FROM table WHERE bruger = 'session("bruger")'
Så for at trække den ud skal du "kalde cnt" som den kommer til at hedde.
Avatar billede Slettet bruger
16. september 2008 - 17:10 #2
Men går udfra du har 3 tabeler i databasen:
1. brugere (hvor de får et unkit brugerID)
2. indlæg (hvor du istedet for at skrive deres brugernavn hver gang kan spare tid, ved at bruge deres id, og så er det letter, hvis de måtte kunne skifte brugernavn, så skal du kun rette i det i brugere tabelen)
3. svar (igen det med brugerID)
Avatar billede krel Nybegynder
16. september 2008 - 18:31 #3
jo self. har jeg os en bruger tabel med login osv og trækker self. fra den.. vil give det et forsøg og vende tilbage med input
Avatar billede Slettet bruger
16. september 2008 - 20:58 #4
Lyder godt glæder mig til at se om du finder du af det.
Avatar billede krel Nybegynder
18. september 2008 - 15:07 #5
hmmm sidder og roder med det nu og spørg sikker dumt, men

er COUNT i gruppe med select, insert eller update altså sådan at den skal stå i en SQL linie???

og hvordan kalder jeg så flere på samme tid for skal jo både lave en for indlæg og en for svar.....?
Avatar billede Slettet bruger
19. september 2008 - 08:33 #6
Count er en funktion.

Ved at lave flere i samme kald gøres dette sådan her:
ved 2 styks:
SELECT COUNT(*) as cntFile, (SELECT COUNT(*) FROM users) as cntUser FROM zipcode


ved 5:
SELECT COUNT(*) as cntFile, (SELECT COUNT(*) FROM users) as cntUser, (SELECT COUNT(*) FROM projects) as cntProjects, (SELECT COUNT(*) FROM phpbb_acl_roles_data) as cntData, (SELECT COUNT(*) FROM phpbb_groups) as cntGroups FROM zipcode
Avatar billede Slettet bruger
19. september 2008 - 08:35 #7
Hvis du kigger på den med 2 styks, så har vi først en "fuld count linje"
SELECT COUNT(*) as cntFile FROM zipcode

Så har vi bare sat en ny ind i ligesom når du skal SELECTE flere ting f.eks. SELECT ting1, ting2 FROM noget.
Avatar billede Slettet bruger
19. september 2008 - 08:36 #8
Avatar billede krel Nybegynder
19. september 2008 - 23:28 #9
hmm forstår åbenbart ingen ting for jeg får bare en 500'er....

har lavet et db-kald og så skrevet din linie ind og så kaldt med response.write cnt (dit første eks)

hvad går galt????
Avatar billede Slettet bruger
20. september 2008 - 12:41 #10
At dette nok kun virker til MySQL så.
Avatar billede krel Nybegynder
21. september 2008 - 10:52 #11
hmmm har du så et bud på noget ASP / access db ?
Avatar billede Slettet bruger
21. september 2008 - 10:52 #12
Nej det har jeg desværre ikke.
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