Ä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.
19 svar · 290 visningar · startad av ReloadMaster
<%If "&svar4&" = "" Then
'Gör inget
Else
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>
Ä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.
Tack det löste det...
Men hur ska jag skriva om det är ett databasfält...
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 %>
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
%>
If "" & s4 <> "" Then
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>
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...)
Ta antal svar på varje fråga och dela det med antal som har svarat, multiplicera med 100 och sätt ett %-tecken efter.
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
Hur kan jag få in en i denna kod då:
<%
s4 = RecSet("svar4")
If s4 = "" Then
r4 = RecSet("roster4")
%>
Svar4: <% =r4%><br>
<%End If%>
Jag får det inte att funka...
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 %>
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...
Sedan undrar jag hur man slipper:
53,3333333333333% asså långa procent
om man vill att den visar bara ett heltal...
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
%>
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
%>
<%
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
%>
Tack IICAQ!
Fan Lasse du är ju Kung!