webForumDet fria alternativet

Varför kan inte denna funka?

ASP

19 svar · 261 visningar · startad av ReloadMaster

Medlem sedan aug. 2001239 inlägg
Frågan#1

<%If "&svar4&" = "" Then

'Gör inget

Else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>

------------------
Das Dunkhopf...

Medlem sedan dec. 200012 464 inlägg
#2

Är svar4 en variabel? I så fall

<%If svar4 = "" Then
'Gör inget

Else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>

annars så får du förklara lite mer.

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001239 inlägg
#3

Tack det löste det...
Men hur ska jag skriva om det är ett databasfält...

------------------
Das Dunkhopf...

Medlem sedan dec. 200012 464 inlägg
#4

Tja, det är ju ingen principiell skillnad

<%
sql = "select * from qs"
set recset = connect.execute("sql")
'
while not recset.eof
svar4 = recset("svar4")
if  svar4 = "" then
'gör inget
else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If
recset.movenext
wend %>

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001239 inlägg
#5

Vad är fel här?

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source ="& Server.MapPath("votedb.mdb")

SQL = "SELECT top 1 * From rosta ORDER BY ID DESC"
Set RecSet = Connect.Execute(SQL)

%>
<%
s4 = RecSet("svar4")
If "&s4&" = "" Then
%>
<%
Else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>
<%
RecSet.Close
Set RecSet = Nothing
Connect.Close
Set Connect = Nothing
%>

------------------
Das Dunkhopf...

Medlem sedan dec. 200012 464 inlägg
#6
If "" & s4 <> "" Then
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001239 inlägg
#7

Tack, Lasse

men nu kommer del två...
Jag skulle vilja att den skriver ut % på rösterna också i denna kod(om det går...)

------------------
Das Dunkhopf...

Medlem sedan mars 2001185 inlägg
#8

Ta antal svar på varje fråga och dela det med antal som har svarat, multiplicera med 100 och sätt ett %-tecken efter.

------------------
B44Z

Medlem sedan dec. 200012 464 inlägg
#9

Du kan lägga in beräkningen direkt i sql-frågan:

sql = "select 100*svar1/(svar1+svar2+svar3+svar4) as p1,
100*svar2/(svar1+svar2+svar3+svar4) as p2,100*svar3/(svar1+svar2+svar3+svar4) as p3,100*svar1/(svar1+svar2+svar3+svar4) as p4 from rosta order by id desc"
set rs = connect.execute(sql)
while not rs.eof
for i = 1 to 4
response.write "rs("p"&i) & "% svar " _ 
& i & "<br>"
next
rs.movenext
wend

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001239 inlägg
#10

Hur kan jag få in en i denna kod då:

<%
s4 = RecSet("svar4")
If s4 = "" Then
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>

------------------
Das Dunkhopf...

Medlem sedan aug. 2001239 inlägg
#11

Jag får det inte att funka...

------------------
Das Dunkhopf...

Medlem sedan dec. 200012 464 inlägg
#12

Det beror på hur din tabell ser ut
Om kolumnerna

roster1,
roster2,
roster3,
roster4

innehåller röster för de olika alternativen så får du % så här

<%
r1 = cdbl(recset("roster1"))
r2 = cdbl(recset("roster2"))
r3 = cdbl(recset("roster3"))
r4 = cdbl(recset("roster4"))
total = r1 + r2 + r3 + r4
s4 = recset("svar4")
if "" & s4 <> "" then %>
Svar4: <% =r4%><br> (<%= 100*(r4/total)%> %
<% end if %>

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 12 sep 2001]

Medlem sedan aug. 2001239 inlägg
#13

Fan Lasse vad skulle jag göra om inte du vore här...
Men finns det något sätt att effektivitera denna kod efter som jag måste skriva ut den 10 gånger...

------------------
Das Dunkhopf...

Medlem sedan aug. 2001239 inlägg
#14

Sedan undrar jag hur man slipper:
53,3333333333333% asså långa procent
om man vill att den visar bara ett heltal...

------------------
Das Dunkhopf...

Medlem sedan okt. 20005 273 inlägg
#15
FormatNumber(ditt_tal, 0)

:)

------------------
Jag kommer aldrig mer att tramsa efter vad som hänt i dag 2001-09-11

Medlem sedan dec. 200012 464 inlägg
#16

Nu vet jag inte exakt hur du menar och hur din nuvarande kod ser ut men det går ju att skriva så här


for i = 1 to 10
s = recset("svar" & i)
if "" & s <> "" then 
'gör något med s %>

<% 
end if
next 
%>

------------------
essentitia preter non sans multiplicandum

Medlem sedan aug. 2001239 inlägg
#17

Går det att korta ner med %:en oxå?

<%
r1 = cdbl(recset("roster1"))
r2 = cdbl(recset("roster2"))
r3 = cdbl(recset("roster3"))
r4 = cdbl(recset("roster4"))
r5 = cdbl(recset("roster5"))
r6 = cdbl(recset("roster6"))
r7 = cdbl(recset("roster7"))
r8 = cdbl(recset("roster8"))
r9 = cdbl(recset("roster9"))
r10 = cdbl(recset("roster10"))
total = r1 + r2 + r3 + r4 + r5 + r6 + r7 + r8 + r9 + r10
for i = 1 to 10
s = recset("svar" & i)
if "" & s <> "" then 
r = recset("roster" & i)
%> 
Svar<%=i%> : <% =r%>(<%= 100*(r/total)%>%)
<% 
end if
next 
%>

------------------
Das Dunkhopf...

Medlem sedan dec. 200012 464 inlägg
#18
<%
total = 0
for i = 1 to 10
total = total + cdbl(recset("roster" & i))
next
for i = 1 to 10
s = recset("svar" & i)
if "" & s <> "" then 
r = recset("roster" & i)
%> 
Svar<%=i%> : <% =r%>(<%= 100*(r/total)%>%)
<% 
end if
next 
%>

------------------
essentitia preter non sans multiplicandum

[Redigerat av LarsG den 13 sep 2001]

Medlem sedan aug. 2001239 inlägg
#19

Tack IICAQ!

------------------
Das Dunkhopf...

Medlem sedan aug. 2001239 inlägg
#20

Fan Lasse du är ju Kung!

------------------
Das Dunkhopf...

255 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)