Avatar billede Slettet bruger
04. maj 2002 - 15:35 Der er 25 kommentarer og
1 løsning

tælle indhold af celler

Hej eksperter...


jeg skal have skrevet denne SQL lidt om:
SQL_COUNT = "SELECT COUNT(*) AS ialt FROM artikel WHERE bruger_id = " & session("brugerID")
' Udfør forespørgsel (rs indeholder nu resultatet)

så det den tæller er rating cellens værdi, hvor bruger_id er = session("brugerID")

nogen der kan hjælpe ?

mvh.
www.questis.dk
Avatar billede hotcut Nybegynder
04. maj 2002 - 15:40 #1
ved ikke om det er det du skal bruge... men:

SQL_COUNT = "SELECT SUM(rating) AS ialt FROM artikel WHERE bruger_id = " & session("brugerID")
Avatar billede Slettet bruger
04. maj 2002 - 15:41 #2
ser meget rigtig ud, prøver det lige af *SS*
Avatar billede Slettet bruger
04. maj 2002 - 15:43 #3
den virker, men skal lige have dig til at modifidere den, så hvis intet findes skal den skrive 0
Avatar billede hotcut Nybegynder
04. maj 2002 - 15:45 #4
hvis der ikke er nogen records, giver den vel bare 0!? Ellers bliver du nødt til at gøre det i selve programmeringen...
Avatar billede Slettet bruger
04. maj 2002 - 15:46 #5
den skriver slet ikke noget når der intet finde, men det kunne vel ordnes med en if sætning der undersøger om den er nul ?
Avatar billede hotcut Nybegynder
04. maj 2002 - 15:48 #6
sagtens...
Jeg ved ikke om du bruger ASP eller hvad, men bare gør det der i... det er ikke noget problem.

Hvis du bruger ASP, så brug en "if not recordset.BOF", hvilket siger om den er tom.
Avatar billede Slettet bruger
04. maj 2002 - 15:51 #7
har denne, men den gør ingen forskel

if not rs_COUNT.BOF then
response.write rs_COUNT("ialt")
else
response.write "0"
end if
Avatar billede hotcut Nybegynder
04. maj 2002 - 15:52 #8
if not rs_COUNT.BOF AND not rs_COUNT.EOF then
response.write rs_COUNT("ialt")
else
response.write "0"
end if
Avatar billede Slettet bruger
04. maj 2002 - 16:02 #9
det blev det ikke rigtig bedre af, den gør det samme
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:03 #10
if rs_COUNT("ialt") = "" then
response.write "0"
else
response.write rs_COUNT("ialt")
end if
Avatar billede Slettet bruger
04. maj 2002 - 16:05 #11
heller ikke noget den vil være med til, ved ikke om den har noget liggende i den ?
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:06 #12
skriver den bare ikke noget?

Prøv så med:

if trim(rs_COUNT("ialt")) = "" OR len(rs_COUNT("ialt") = 0 then
response.write "0"
else
response.write rs_COUNT("ialt")
end if
Avatar billede Slettet bruger
04. maj 2002 - 16:08 #13
den skriver intet.... heller ikke med den sidste, den ikke engang laver rammen færdig i min td
Avatar billede Slettet bruger
04. maj 2002 - 16:09 #14
du kan se det kodestykke den sidder i:

response.write "<td width='67px' height='10px' bgcolor='#FFFFFF' style='border-right: 1 solid #000000;' align='right'><h2>"
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("bruger.mdb")
Conn.Open DSN

SQL_COUNT = "SELECT SUM(rating) AS ialt FROM artikel WHERE bruger_id = " & session("brugerID")
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs_COUNT = Conn.Execute(SQL_COUNT)

if trim(rs_COUNT("ialt")) = "" OR len(rs_COUNT("ialt")) = 0 then
response.write "0"
else
response.write rs_COUNT("ialt")
end if

response.write "</h2></td></tr>"
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:11 #15
har du en "on error resume next" del i starten af filen?
Avatar billede Slettet bruger
04. maj 2002 - 16:12 #16
nej det har jeg ikke, aner faktisk ikke hvad det er *SS*
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:14 #17
lol..

Grunden til at jeg sprøger, er at du siger:
"den skriver intet.... heller ikke med den sidste, den ikke engang laver rammen færdig i min td"

Jeg ville umidelbart tro, at det er fordi der er en fejl i koden, at den ikke skriver resten af siden :s
Avatar billede Slettet bruger
04. maj 2002 - 16:15 #18
vil du have hele sidens kode, den er ikke så lang, så ville det måske være nemmere *SS*
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:16 #19
yup, bare send den :)
Avatar billede Slettet bruger
04. maj 2002 - 16:20 #20
<%
response.write "<table cellpadding='0' cellspacing='0' border='0' width='150px'>"

response.write "<tr><td colspan='4' style='background-image: url(menuknap.gif); padding-left: 5px;' height='18' width='100%'><h1>Brugerstatus</h1></td></tr>"

if len(session("brugernavn"))>0 then
response.write "<tr><td><center><table cellpadding='0' cellspacing='0' border='0' width='134'>"
response.write "<tr><td height='10px' width='67px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000;'><h2>Brugernavn:</h2></td>"
response.write "<td height='10px' width='67px' bgcolor='#FFFFFF' style='border-right: 1 solid #000000;' align='right'><h2>"
response.write session("brugernavn")
response.write "</h2></td></tr>"
response.write "<tr><td width='67px' height='10px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000;'><h2>Point:</h2></td>"
response.write "<td width='67px' height='10px' bgcolor='#FFFFFF' style='border-right: 1 solid #000000;' align='right'><h2>"
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("bruger.mdb")
Conn.Open DSN

SQL_COUNT = "SELECT SUM(rating) AS ialt FROM artikel WHERE bruger_id = " & session("brugerID")
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs_COUNT = Conn.Execute(SQL_COUNT)

if trim(rs_COUNT("ialt")) = "" OR len(rs_COUNT("ialt")) = 0 then
response.write "0"
else
response.write rs_COUNT("ialt")
end if

response.write "</h2></td></tr>"
response.write "<tr><td colspan='2' width='134px' height='10px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='logaf.asp' target='_parent'><h2>Log af</h2></a></td></tr></table></td></tr>"
else
response.write "<tr><td><center><table cellpadding='0' cellspacing='0' border='0' width='134'><tr><td height='10px' width='134px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='login.asp' target='_parent'><h2>Log ind</h2></a></td></tr>"
response.write "<tr><td width='134px' height='10px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='login.asp?mode=opret' target='_parent'><h2>Opret bruger</h2></a></td>"
response.write "</tr></table></td></tr>"

end if
response.write "<tr><td colspan='4' style='background-image: url(menuknap.gif); padding-left: 5px;' height='18' width='100%'><h1>Index</h1></td></tr>"
response.write "<tr><td><center><table cellpadding='0' cellspacing='0' border='0' width='134'>"
response.write "<tr><td height='10px' width='134px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='index.asp' target='_parent'><h2>10 nyeste</h2></a></td></tr>"
response.write "<tr><td height='10px' width='134px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='' target='_parent'><h2>Noveller</h2></a></td></tr>"
response.write "<tr><td height='10px' width='134px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000;'><a href='' target='_parent'><h2>Søg noveller</h2></a></td></tr>"
response.write "<tr><td height='10px' width='134px' bgcolor='#FFFFFF' style='border-left: 1 solid #000000; border-right: 1 solid #000000; border-bottom: 1 solid #000000;'><a href='Skriv.asp' target='_parent'><h2>Skriv novelle</h2></a></td></tr>"
response.write "</table></td></tr></table>"
%>
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:23 #21
ok... lad os prøve med et vildt forsøg så ;)

Din SQL sætning skal være:
SQL_COUNT = "SELECT SUM(rating)+1 AS ialt FROM artikel WHERE bruger_id = " & session("brugerID")


Og der hvor du skriver den ud skal bare være:
response.write rs_COUNT("ialt")-1


et vildt forsøg, men måske vil din SQL db selv lave det om til et tal!?
Avatar billede Slettet bruger
04. maj 2002 - 16:28 #22
det gør det ikke bedre, virker på samme måde, altså fint hos dem der findes og intet ved dem som har nul
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:31 #23
ok....
brug den normale SQL.
Og brug den her kode:

temp = rs_COUNT("ialt")
if not isnumeric(temp) OR temp = "" OR isempty(temp) OR isnull(temp) OR len(temp) = 0 then
response.write("0")
else
response.write(temp)
end if
Avatar billede Slettet bruger
04. maj 2002 - 16:32 #24
så lykkedes det sgu, efter en lang kamp, hvordan kan det være ? hvad gør denne da til forskel fra de andre ?
Avatar billede hotcut Nybegynder
04. maj 2002 - 16:34 #25
jeg ved det ikke...
Nogle gange hvis man ikke ved hvad for et resultat den giver, må man bare prøve ALLE mulige...

Men så længe det virker :)

Husk at acceptere mit svar ;) Vil ind på en første plads :D
Avatar billede Slettet bruger
04. maj 2002 - 16:36 #26
Skal jeg nok, men der er lang vej til den første plads *SS* men en god indsats du yder*SS* velkommen til E og takfor hjælpen
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