webForumDet fria alternativet

blir för hög siffra

ASP

10 svar · 266 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1
SQL4 = "Select * from dagbok WHERE agare = '"&medlem & "' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 

If Not RecSet.EOF Then
		
Do Until RecSet.EOF

intLength = Len(RecSet("text"))

intSum = intSum + intLength 

Response.Write "<b>" & intSum & "</b>"

RecSet.MoveNext
			Loop
		Else
			Response.Write ""
		End If

%>
tecken i sin dagbok vilket betyder att <% =medlem%> har skrivit i genomsnitt

<%
genomsnitt = intSum / summainlagg

%>
 <b>
<%If isnull(genomsnitt) then genomsnitt = 0%>
<% =Round(genomsnitt ,2)%>
</b> tecken per inlägg.

Denna kod skriver ut denna mening:

Sammanlagt har Andreas skrivit 4578141164 tecken i sin dagbok vilket betyder att Andreas har skrivit i genomsnitt 0 tecken per inlägg.

Talet 4578141164 kan omöjligt stämma för jag har räknat ut att den kan finnas max 10000 tecken i kolumnen text.

Varför skriver den ut ett så högt tal?

Om ni undrar så har jag hämtat ut variabeln summainlagg i en annan kod som jag inte skrev ut här.

Medlem sedan aug. 20011 099 inlägg
#2

du får ändra kolumnen i databasen!!

Medlem sedan feb. 20011 498 inlägg
#3

Vadå ändra i kolumnen?

Medlem sedan mars 20015 287 inlägg
#4

Borde fungera:

SQL4 = "Select * from dagbok WHERE agare = '"&medlem & "' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 

If Not RecSet.EOF Then
		
Do Until RecSet.EOF

intLength = Len(RecSet("text"))

intSum = intSum + intLength 

RecSet.MoveNext
			Loop

		End If
genomsnitt = intSum / summainlagg
If isnull(genomsnitt) then genomsnitt = 0
End If

Response.Write "<b>" & intSum & "</b> tecken i sin dagbok vilket betyder att" & medlem & " har skrivit i genomsnitt <b>" & Round(genomsnitt ,2) & "</b> tecken per inlägg."
%>

Det du gjorde fel var att du skrev ut i loopen, så det blev antalet bokstäver i varje inlägg efter varann, tex 457 81 411 64 fast utan mellanslag.

...tror jag..

Medlem sedan feb. 20011 498 inlägg
#5

Nu skriver den inte ut någonting på antal tecken och 0 i genomsnitt.

Medlem sedan mars 20015 287 inlägg
#6

Pröva ta bort den, fungerar nog utan eftersom du har allt på en rad.

Medlem sedan feb. 20011 498 inlägg
#7

Jga löste det problemet men jag redigerade mitt inlägg men du kanske inte hann se det, så kolla på det nu istället.

Medlem sedan mars 20015 287 inlägg
#8

Vidare måste du se till att du verkligen har ett värde i summainlagg.

Medlem sedan feb. 20011 498 inlägg
#9

Jag skrev ut värdet summainlagg och då skrev den ut 3, vilket stämmer, men den skriver ändå ut tomt på intSum

Medlem sedan mars 20015 287 inlägg
#10

Fungerar dettta då?

SQL4 = "Select * from dagbok WHERE agare = '"&medlem & "' "
RecSet.Open SQL4, Connect, adOpenStatic, adLockOptimistic 

If Not RecSet.EOF Then
		
Do Until RecSet.EOF

intLength = Len(RecSet("text"))

intSum = intSum + intLength 

RecSet.MoveNext
			Loop
		Else
			Response.Write ""
		End If
Response.Write "<b>" & intSum & "</b>"
%>
tecken i sin dagbok vilket betyder att <% =medlem%> har skrivit i genomsnitt

<%
genomsnitt = intSum / summainlagg

%>
 <b>
<%If isnull(genomsnitt) then genomsnitt = 0%>
<% =Round(genomsnitt ,2)%>
</b> tecken per inlägg.
Medlem sedan feb. 20011 498 inlägg
#11

Tack för hjälpen solbulle, det funkar utmärkt nu :birp

262 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)