webForumDet fria alternativet

Räkna ut värden ifrån loop.

ASP

11 svar · 344 visningar · startad av Jesper T

Medlem sedan nov. 20017 144 inlägg
Frågan#1

Hej kära WF!
Jag har en "befintligt" recordset med en loop med lite olika värden som räknas ihop på sidan.
Nu skulle jag vilja sätta checkboxar efter varje rad i recordsetet och med en knapptryckning presentera värdet för dem som jag valt med checkboxarna.

Vara | v1 | v2 | v3 |Chechbox
-------------------------------------------
Banan | 10 | 20 | 42 |░
Morot | 23 | 12 | 53 |░
Kålrot | 15 | 14 | 64 |░

Låt säga att jag klickar för morot och Kålrot så vill jag plussa ihop dessa värden osv. *hoppas att det är någon som hajjar*

Kan tänka mig att det går med någon slags split och for-sats på någe vis, jag har så när jag raderar poster men då är det ju en liten annan sak kanske?!
(Helst skall den befintliga loopen vara kvar fast uträkninen "går på" posterna med checkboxen)

Medlem sedan juni 20003 076 inlägg
#2

förklara gärna lite närmare hur du tänkt dig.
ska t.ex ditt exempel morot v.1 och kålrot v.1 plussas till summa 38,
eller ska de plussas var för sig t.ex morot v.1, v.2, v.3 plussas till 88?
de man inte klickar i, vad ska hända med dem?
visa gära din loopkod också, så ska vi nog kunna lösa ditt problem. :)

Medlem sedan nov. 20017 144 inlägg
#3

Ja just det, morot v.1 och kålrot v.1 skall plussas till summa 38, men exakt hur det sker kan jag nog fixa själv.
Det är endast de man kryssar i som skall räknas ut de andra skall bara vara kvar som vanligt i loopen men inte tas med i uträkningen. Jag hade mera tänkt mig principen på detta och inte en färdig lösning. Behöver först och främst lite uppslag och tips.

Medlem sedan nov. 20017 144 inlägg
#4

Är det någon som har något tips ang. detta?

Medlem sedan sep. 2002366 inlägg
#5

Dra in lite kod så man förstår :)

-Eitraz

Medlem sedan nov. 20017 144 inlägg
#6
strSQL = "select Prod,Antal,Dygn_id,Prod_id,K_Id,"&_
          " B_ett , B_tre,"&_
          " B_tva, B_fyra, A_ett, A_tva, A_tre, A_fyra"&_
          " from personer p,Proder f,kalender k "&_
 " where p.P_id = k.namn_id"&_
 " and k.Prod_id = f.F_id"&_
 " and p.P_id = "& Id &_
 " and datum = #"& varDate &"# order by Dygn_id, Prod"
Set rs = Conn.execute(strSQL)

sumEtt=0
totalEtt=0
EttProc=0

Do while not rs.eof
sumEtt = rs("B_ett")* rs("Antal")
totalEtt = totalEtt + sumEtt
ettProc = 100 * (totalEtt / rs("A_ett"))

Response.write rs("Antal")& " "& rs("Prod") &" "& rs("B_ett") & rs("B_tva") & "<br>"& sumEtt &" "& ettProc
rs.movenext
loop

Detta presenteras som default på sidan och värderna i recsetet räknas ihop i "sumEtt, totalEtt samt EttProc". Låt säga att i recsetet så ligger 10 poster(rader) och de totala värderna ifrån dessa räknas ihop i totalEtt och ettProc.
Nu till hur jag skulle vilja ha det:
Tänk er att i loopen så skulle jag vilja ha en kryssruta efter varje rad:
Response.write rs("Antal")& " "& rs("Prod") &" "& rs("B_ett") & rs("B_tva") & sumEtt &" "& ettProc &_
& "<input type=checkbox>" & "<br>"

Och när man kryssar i denna/dessa ruta/or så skall man få fram värderna i totalEtt och ettProc i de poster jag kryssat för.

Medlem sedan nov. 20017 144 inlägg
#7

Har jag specifiserat mig luddigt här, eller går detta inte att lösa?

Medlem sedan mars 20015 287 inlägg
#8

Är det på en html-sida med ett formulär det hela visas? Med checkboxar?
I så fall blir det väl ett javascript (eller asp) som tar emot infon när formuläret postas o räknar ihop summan?
...eller missar jag något?

Medlem sedan nov. 20017 144 inlägg
#9

Det är på en htmlsida. Inte i ett formulär, utan värderna räknas ihop med principen i mitt exempel med koden, och presenteras på samma sätt.

Medlem sedan juni 20003 076 inlägg
#10

Ett alternativ(endast som exempel):

<form>
<%
if not len(Request.Form("F_id")) = 0 Then
strSql = "Select Sum(v1) From frukt Where F_id in (Request.Form("F_id")) "
set rs2 = Conn.execute(strSql)
End If

Do while not rs.eof
sumEtt = rs("B_ett")* rs("Antal")
totalEtt = totalEtt + sumEtt
ettProc = 100 * (totalEtt / rs("A_ett"))

Response.write rs("Antal")& " "& rs("Prod") &" "& rs("B_ett") & rs("B_tva") & "<br>"& sumEtt &" "& ettProc
%>
<input type="checkbox" value="<%= F_id" %>">
<%
rs.movenext
loop
%>
<input type="submit">
<%
Response.Write("Talet blev: " & rs2(v1)
%>
</form>

Det som händer är alltså: du klickar i valda boxar, skickar foruläret,
öppnar recordset med id från request.form och skriver ut resultatet.

Medlem sedan feb. 200112 078 inlägg
#11

För att rätta dig lite, doggelito:

<form>
<%
if not len(Request.Form("F_id")) = 0 Then
strSql = "Select Sum(v1) From frukt Where F_id in (Request.Form("F_id")) "
set rs2 = Conn.execute(strSql)
End If

Do while not rs.eof
sumEtt = rs("B_ett")* rs("Antal")
totalEtt = totalEtt + sumEtt
ettProc = 100 * (totalEtt / rs("A_ett"))

Response.write rs("Antal")& " "& rs("Prod") &" "& rs("B_ett") & rs("B_tva") & "<br>"& sumEtt &" "& ettProc
%>
<input type="checkbox" value="<%= F_id" %>">
<%
rs.movenext
loop
%>
<input type="submit">
<%
Response.Write("Talet blev: " & rs2([red]"v1"))[/red]
%>
</form>

Alltid " vid strängar.

Medlem sedan juni 20003 076 inlägg
#12

Man skulle kunna leka finn fem fel i min kod ser jag nu, men men
som sagt det var bara själva idén jag ville förmedla! :)

262 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)