webForumDet fria alternativet

Varför byter den namn?

ASP

77 svar · 2 147 visningar · startad av Jeppeweb · sida 4 av 4

Frågan, av Jeppeweb

Microsoft OLE DB Provider for ODBC Drivers error '80040e37' \[MySQL\]\[ODBC 3.51 Driver\]\[mysqld-5.0.45-log\]Table 'wohose.Fraga' doesn't exist /admin.asp, line 107 LINE 107: conn.execute("INSERT INTO fraga (fraga,ar,vecka) VALUES('" & request.form("fraga") & "','" & request.form("ar") &"','" & request.form("vecka") &"')") Set RS=Conn.Execute("Select from Fraga Order By PollID DE

Läs frågan i sin helhet →
Medlem sedan sep. 2006462 inlägg
#61

Hur ska det se ut då?

Medlem sedan juni 20019 519 inlägg
#62

Jeppeweb skrev:

Hur ska det se ut då?

Det hoppas jag verkligen att du hade koll på hur din kod skulle fungera.

Lägg upp koden igen(som man kan kolla din html/Cookie data) / lägg upp bilder på de olika tillfällen du får x och y tillbaka i din poll.

Medlem sedan juni 20019 519 inlägg
#63
<%
Function RenderGraph(lPercentage,lHeight,sPictureName)
	RenderGraph = "<img src=""" & sPictureName & """ style=""height:" & lHeight & "px;width:" & int(lPercentage) & "%"""">"
End Function

If Request.Querystring("do") = "vote" Then
	conn.execute("Update svar Set klick=klick+1 Where id=" & Request.Form("vote"))
	Response.Cookies("rostat")="JA"
	Response.Cookies("rostat").Expires = date + 1
	Response.Redirect sidan
Else
	'voigtann1's variabler
	dim sHeader, sResponseString , totalVotes

	Dim RecSet
	Set RecSet = conn.execute("SELECT * , svar.ID AS vID, svar.pollID as pID FROM fraga INNER JOIN svar ON svar.PollID=fraga.pollID WHERE vecka=" & DatePart("ww", Date) & " And ar =" & DatePart("yyyy", Date) & " ORDER BY fraga.PollId DESC, Svarnr ASC")
	
	If Not RecSet.EOF Then
		totalVotes = Conn.Execute("SELECT sum(klick) AS tot FROM svar WHERE pollID=" & Recset("pID"))("tot")
		totalVotes = CLng(totalVotes)
		sHeader = "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt=''/></a> " &RecSet("fraga")&" <a href='#' title='Totalt har " & totalVotes & " r&ouml;stat'> " & " " & totalVotes & "</a></h1></div><div id='votecolumn'>"

		sResponseString = sResponseString & "<form action=" & sidan & "?do=vote&ID=" & Recset("vID") &" method=post>"
		Do Until Recset.EOF
			If Recset("klick") <> 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If
			
			Antal = antal + Recset("klick")
				
			BILD = "images/1.gif"

			If Not Request.Cookies("rostat") = "JA" Then
				Radio="<input type=""radio"" name='vote' value=" & recset("vID") & ">&nbsp;"
				Knapp ="<center><br><input type=""submit"" value=""R&ouml;sta!""></center>"
			End If
				sResponseString = sResponseString & "<a href='#'>" &recset("svar") & " (" & left(Procent,4) & "%)</a><br>"
				sResponseString = sResponseString & "<table border=""0"" width='" & bredd & "' height=""" & hojd  &""">" _
								 & "<tr bgcolor="& Color &">" _
								 & "<td height='" & hojd  &"' width=""100%"">" _
								 & "<table border=""0"" width=""100%"" height=""" & hojd  &""">" _
								 & "<tr><td>"& Radio &"<img src=""images/start.gif"">" _
								 & RenderGraph(Procent,15,Bild) _
								 & "<img src=""images/end.gif"">" _
								 & "</td></tr></table>" _
								 & "</tr>" _
								 & "</table>"
			Recset.MoveNext
		Loop
			
		'Vi rendera ut pollen nu
		Response.Write sHeader
		Response.Write sResponseString
		Response.Write "<br>" & Knapp & "</form>"
		Response.Write "</div>" 

	End If
		
	RecSet.Close
End If

%>

Men min fråga är: vID... ska det verkligen vara det i din radio button? Vad jag ser det som så är det ju din PollId... inte ditt svars id?

Medlem sedan sep. 2006462 inlägg
#64

Här kommer en översyn på databasen, tabell "svar".

  id  svarnr  svar  klick  pollID  
  14   1    OMG JA! 8      21 
  15   2    Ja.        4      21 
  16   3    Nja.       0      21 

Kopierade o pastade koden ovan lite snabbt, nu får jag det här felmeddelandet;

Microsoft VBScript compilation error '800a0411'

Name redefined

/poll/vote.asp, line 16

Dim RecSet
----^

Tack för hjälpen

Medlem sedan juni 20019 519 inlägg
#65

Jeppeweb... nu får du kolla koden lite själv. Detta felmeddelande har du nog fått 3-4 gånger redan i denna tråd. Du får faktist göra lite själv.

Medlem sedan juni 20019 519 inlägg
#66
Radio="<input type=""radio"" name='vote' value=" & recset("vID") & ">&nbsp;"

raden måste vara fel..

Radio="<input type=""radio"" name='vote' value=" & recset("ID") & ">&nbsp;"
Medlem sedan sep. 2006462 inlägg
#67
<!--#Include file="Settings.asp"-->
<%
Function RenderGraph(lPercentage,lHeight,sPictureName)
	RenderGraph = "<img src=""" & sPictureName & """ style=""height:" & lHeight & "px;width:" & int(lPercentage) & "%"""">"
End Function

If Request.Querystring("do") = "vote" Then
	conn.execute("Update svar Set klick=klick+1 Where id=" & Request.Form("vote"))
	Response.Cookies("rostat")="JA"
	Response.Cookies("rostat").Expires = date + 1
	Response.Redirect sidan
Else
	'voigtann1's variabler
	dim sHeader, sResponseString , totalVotes

	Set RecSet = conn.execute("SELECT * , svar.ID AS vID, svar.pollID as pID FROM fraga INNER JOIN svar ON svar.PollID=fraga.pollID WHERE vecka=" & DatePart("ww", Date) & " And ar =" & DatePart("yyyy", Date) & " ORDER BY fraga.PollId DESC, Svarnr ASC")
	
	If Not RecSet.EOF Then
		totalVotes = Conn.Execute("SELECT sum(klick) AS tot FROM svar WHERE pollID=" & Recset("pID"))("tot")
		totalVotes = CLng(totalVotes)
		sHeader = "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt=''/></a> " &RecSet("fraga")&" <a href='#' title='Totalt har " & totalVotes & " r&ouml;stat'> " & " " & totalVotes & "</a></h1></div><div id='votecolumn'>"

		sResponseString = sResponseString & "<form action=" & sidan & "?do=vote&ID=" & Recset("vID") &" method=post>"
		Do Until Recset.EOF
			If Recset("klick") <> 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If
			
			Antal = antal + Recset("klick")
				
			BILD = "images/1.gif"

			If Not Request.Cookies("rostat") = "JA" Then
                Radio="<input type=""radio"" name='vote' value=" & recset("ID") & ">&nbsp;"
				Knapp ="<center><br><input type=""submit"" value=""R&ouml;sta!""></center>"
			End If
				sResponseString = sResponseString & "<a href='#'>" &recset("svar") & " (" & left(Procent,4) & "%)</a><br>"
				sResponseString = sResponseString & "<table border=""0"" width='" & bredd & "' height=""" & hojd  &""">" _
								 & "<tr bgcolor="& Color &">" _
								 & "<td height='" & hojd  &"' width=""100%"">" _
								 & "<table border=""0"" width=""100%"" height=""" & hojd  &""">" _
								 & "<tr><td>"& Radio &"<img src=""images/start.gif"">" _
								 & RenderGraph(Procent,15,Bild) _
								 & "<img src=""images/end.gif"">" _
								 & "</td></tr></table>" _
								 & "</tr>" _
								 & "</table>"
			Recset.MoveNext
		Loop
			
		'Vi rendera ut pollen nu
		Response.Write sHeader
		Response.Write sResponseString
		Response.Write "<br>" & Knapp & "</form>"
		Response.Write "</div>" 

	End If
		
	RecSet.Close
End If

%>

Det händer inget nu när man röster, mer än att det läggs till i räknaren..

Medlem sedan juni 20019 519 inlägg
#68
			If Recset("klick") <> 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If

Ser ut som att det är problemet...
Vilket jag inte förstå...

			If CLng(Recset("klick")) > 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If

Men jag ger snart upp... försöker läsa din källkod från woho.se och jag fattar inte varför du kör x antal tabeller (fattar inte varför du kör tabeller alls).

Om jag ska vara ärlig så känns det bara som det är en person här som försöker felsöka din kod.

Jag har en känsla av att du har laddat ner koden för röstningen?
http://www.webforum.nu/showthread.php?t=87293 har en bra om jag har fattat det rätt. Prova bryt ner din kod och förstå den lite bättre. Känns som du kopiera koden jag skickar och om du får något fel så postar du det direkt utan att ens läsa felkoden.

Medlem sedan sep. 2006462 inlägg
#69

Tabellerna var temporära..

Okej, men ett sista försök här då.

Kör med din kod.

<%
dim vResults, lTotal, voigt_pollString
vResults = Array(1,2,1) ' 3 val, val nr 2 har fått 2 svar (50% av alla som har röstat).
'Få ut totala antal röster
for i = 0 to Ubound(vResults)
	lTotal = lTotal + vResults(i) ' Loopar ut så vi vet antal röster totalt (4st)
Next

Dim hojd
hojd = 15

Response.Write "Antal röster: " & lTotal & "<br>"

for i = 0 to Ubound(vResults)
	Procent = CInt((vResults(i)/lTotal)* 100) ' få ut Procenten på rösterna.
	Response.Write "Result " & i +1 & ": " & Procent & "% (" & vResults(i) & ")<br>" ' skriv ut ett "fint" meddelande
	Response.Write RenderGraph(Procent, hojd, "http://www.woho.se/images/1.gif") & "<br>" ' Anropar RenderGraph se funktion nedan.
Next

Function RenderGraph(lPercentage,lHeight,sPictureName)
	dim lWidth
	If Int(lPercentage) = 100 And Request.Cookies("rostat") = "JA" Then
		lWidth = 98
	Else
		lWidth = int(lPercentage)
	End If
	RenderGraph = "<img src=""" & sPictureName & """ style=""height:" & lHeight & "px;width:" & lWidth & "%"""">"
End Function

%>

Microsoft VBScript runtime error '800a01f5'

Illegal assignment: 'I'

/poll/vote.asp, line 5

Medlem sedan juni 20019 519 inlägg
#70

varför kör en exempel kod? Och om du ska göra det så kör endast exempel koden (då den inte ens är kopplad till någon databas anslutning). Kör din SQL, skit i layouten. Se till och kolla vilken data du får ut innan du försöker göra grafiska "snyggheter" av det.

Illegal assignment: 'I' i någon av dina include filer som du har så har du satt I som något annat än ett tal.

Medlem sedan sep. 2006462 inlägg
#71

Alltså, felet ligger här..

		Dim totalVotes
		totalVotes = Conn.Execute("SELECT sum(klick) AS tot FROM svar WHERE pollID=" & Recset("pID"))("tot")
		totalVotes = CLng(totalVotes)
		Response.Write "<div id='welcometcolumn'><h1 id='vote'><a href='#' title='Visa tidigare resultat'><img src='images/poll_icon.gif' alt='' /></a>" & RecSet("fraga") & Antal  & Knapp & "</h1></div><div id='votecolumn'>"
		Do Until Recset.EOF
		
			If Recset("klick") <> 0 Then
				Procent = (CLng((recset("klick")) / totalVotes) * 100)
			Else
				Procent=0
			End If
		
			Antal = Recset("klick") + antal
			x = x + 1
			Select Case x
				Case 1: BILD = "1.gif"
				Case 2: BILD = "1.gif"
				Case 3:	BILD = "1.gif"
				Case 4:	BILD = "1.gif"
			End Select

Den visar inte det grafiska korrekt. All data i databasen fungerar korrekt.

Såhär såg orginalkoden ut i början, när den var kopplad till en access databas.

Set Rs	   = Conn.Execute("Select Sum(klick) as Tot From Svar Where pollID=" & Recset("pID"))

	Response.write "<b>" & RecSet("fraga") & "</b><br>"
		Do Until Recset.EOF
		
		IF Recset("klick")<>0 then
			Procent = ((recset("klick") / rs("tot"))*100)
		Else
			Procent=0
		End if
		
		Antal=Recset("klick")+antal
			x=x+1
			Select Case x
				Case 1: BILD="1.gif"
				Case 2: BILD="2.gif"
				Case 3:	BILD="3.gif"
				Case 4:	BILD="4.gif"
			END SELECT
Medlem sedan juni 20019 519 inlägg
#72

Nej. Felet endast:

		IF Recset("klick")<>0 then
			Procent = ((recset("klick") / rs("tot"))*100)
		Else
			Procent=0
		End if

Eftersom den inte den inte skriver ut din % helt.
Jag börja tror att din klick beter sig lite som Access PM brukar göra..

voteClick = CLng(Recset("klick"))

inne i din do until recset.eof
och använd voteClick på alla ställen där RecSet("Klick") är.

Medlem sedan sep. 2006462 inlägg
#73

Microsoft VBScript compilation error '800a0401'

Expected end of statement

/poll/vote.asp, line 19

Procent = voteClick = CLng(Recset("klick")) / totalVotes) * 100)
--------------------------------------------------------^

Medlem sedan juni 20019 519 inlägg
#74

Procent = voteClick = (CLng(Recset("klick")) / totalVotes) * 100)

... inte alls det jag skriver att du ska göra....
Exempel:

voteClick = Recset("klick")
		IF voteClick<>0 then
			Procent = ((voteClick / totalVotes)*100)
		Else
			Procent=0
		End if
Medlem sedan sep. 2006462 inlägg
#75

Missuppfattade.

Det fungerar!

Medlem sedan juni 20019 519 inlägg
#76

En fråga:

sResponseString = sResponseString & "<form action=" & sidan & "?do=vote&ID=" & Recset("vID") &" method=post>"

varför tar du svar.Id på din poll... Skall det inte vara pID fast du använder ändå inte det Requestet.

Medlem sedan sep. 2006462 inlägg
#77

svar.ID och pID har samma data, bara att de ligger i två olika tabeller i databasen

Medlem sedan juni 20019 519 inlägg
#78

Jeppeweb skrev:

svar.ID och pID har samma data, bara att de ligger i två olika tabeller i databasen

Det hoppas jag verkligen inte att du ha. svar.id är ditt svars ID och pollId(pId) är vilken poll den är just nu på. Du använder inte ens den datan som skrivs i den requesten som du skickar. Varför ha den kvar alls?

Så länge det fungera så...

292 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
149 ms — hämta tråd, inlägg och bilagor (db)
140 ms — ändringar (db)