---
title: "Röstning"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9846-röstning"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "crisse6"
published: "2001-05-26T15:02:00.000Z"
updated: "2001-06-02T19:27:00.000Z"
replies: 41
views: 518
page: 1
pages: 3
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/9846-röstning"
---

# Röstning

_Sida 1 av 3._

## #1 — crisse6, 2001-05-26T15:02Z

Hmmm...sitter och funderar på om man ska ha så att medlemmar kan rösta på varann...? men hur till en början gör man en röstning... och får ut genomsnitt i röster... så det står:

Kalle: 3.47 poäng... och ligger därför på 25 plats..osv...

Permalänk: https://www.webforum.nu/p/9846

## #2 — Tobbster, 2001-05-26T15:21Z

Du får väl spara röster i en kolummn i Databasen för respektive användare och dela det  med alla röster...Typ

```
select count(roster) as antalröster from meddlem where anvandarnamn ='kalle'
```

sedan kan du lägga det i en variabel.
Ta sedan fram antalet samtligaröster

```
select count(roster)as allaroster from meddlem
```

lägg det i en uterligare variabel.....
Sen är det ju bara att dividera......

Hoppas att jag förstod dig rätt.....

Permalänk: https://www.webforum.nu/p/270718

## #3 — crisse6, 2001-05-26T18:22Z

mm... men asså, hur ska jag göra för att dividera... ??? liksom har tänkt att ha det så här: man klickar på typ radio button el dyl.. sedan till en sida som tar hand om rösten (läggs in i db:n osv..) detta är inget svårt.. men typ hur gör man te x så att man kan se i en topplista... 

47 % av medlemmarna röstar på att kalle är snyggast... så vill jag ha det..?? men hur blir då sql-satsen som hämtar dessa resultat i %? säg då att röst fältet i db:n heter... **privataroster**

Permalänk: https://www.webforum.nu/p/270719

## #4 — Tobbster, 2001-05-26T18:31Z

Vill du bara vissa den som har fått flest röster Där du ska vissa dom i %
eller vill du vissa alla som någon har röstat på ?

Permalänk: https://www.webforum.nu/p/270720

## #5 — crisse6, 2001-05-27T14:50Z

okaj, jag vill ha det så här:

sidan topplistan.asp ska man kunna se en listning av alla medlemmar. Vid varje namn på en medlem står det HUR många röster personen fått + hur många procent av alla som röstar som just går till den personen.

info.asp är sidan man kommer till för att läsa info om den person man vill läsa om. Där ska det stå hur många röste te x Kalle fått + hur många procent av alla som röstar som har röstat på just honom. 

Förstår ni?

Permalänk: https://www.webforum.nu/p/270721

## #6 — Tobbster, 2001-05-27T15:23Z

Det första borde du kunna lösa med det jag har skrivit innan...(Även att SQL satserna kanske inte är exakt)...

Det andra kan ju bli lite klurigare då måste du ju spara någonstans vem det är som rösta(johan kan ju rösta  på 5 st)
Men har är ju fortfarande bara en som röstat 

> Där ska det stå hur många röste te x Kalle fått + hur många procent av alla som röstar som har röstat på just honom.

Permalänk: https://www.webforum.nu/p/270722

## #7 — crisse6, 2001-05-29T12:26Z

kolla här nu. Jag har försökt att börja på min röstare.. Man ska kunna välja mellan 1-5 i alternativ (formulär innan denna kod som kommer nedan) Allt funkar, men... När man te x söker på en person, säg Kalle så kommer man till lite info om honom + en länk där man kan få mer info.. typ den ser ut såhär:

```
<a href=""info.asp?Username=" & rsJa("Username") & """>
```

(den ligger i Response.Write)
iaf, då kommer man till sidan info.asp som då hämtar den info som tillhör kalle.. på info.asp ligger då det röstningsformulär..med radiobuttons 1-5.. action: rostat.asp. Sedan rostat.asp lägger in rösten.. men inte just för kalle utan för alla... hur gör jag INSERT:en för att då man röstar så ska det enbart läggas på kalle ingen annan. 

```
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set RecSet = Server.Createobject("ADODB.Recordset")
MdbFilePath = Server.MapPath("rosta.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL = "SELECT * FROM alternativ"
RecSet.Open SQL, Databas, adOpenStatic, adLockOptimistic
%>
<%
	If Request.Form("knapp") = "1" Then
	Y = RecSet("AltEtt")
	RecSet("AltEtt") = Y -- 1
	RecSet.Update

	ElseIf Request.Form("knapp") = "2" Then
	Y = RecSet("AltTva")
	RecSet("AltTva") = Y -- 1
	RecSet.Update

	ElseIf Request.Form("knapp") = "3" Then
	Y = RecSet("AltTre")
	RecSet("AltTre") = Y -- 1
	RecSet.Update

	ElseIf Request.Form("knapp") = "4" Then
	Y = RecSet("AltFyra")
	RecSet("AltFyra") = Y -- 1
	RecSet.Update

	ElseIf Request.Form("knapp") = "5" Then
	Y = RecSet("AltFem")
	RecSet("AltFem") = Y -- 1
	RecSet.Update
	End If
%>
```

p.s. är det någon som har en finare "uppläggning" av min kod?

Permalänk: https://www.webforum.nu/p/270723

## #8 — crisse6, 2001-05-29T21:01Z

Vide, Nakoz, PatrikB, emission, LarsG, Morph eller @nders, var är ni? Detta är väl inte såååå svårt...? :e

Permalänk: https://www.webforum.nu/p/270724

## #9 — Vide, 2001-05-29T21:26Z

```
SQL = "SELECT * FROM alternativ Where UserName = '"&Request.Form("UserName")&"'"
```

Givetvis har du skickat med användarnamnet i ditt formulär också... :)

Permalänk: https://www.webforum.nu/p/270725

## #10 — crisse6, 2001-05-29T21:30Z

> hur gör jag INSERT:en för att då man röstar så ska det enbart läggas på kalle ingen annan.

 

är det jag som är för trött eller skulle du/ni kunna förklara mer :e ?

Permalänk: https://www.webforum.nu/p/270726

## #11 — Vide, 2001-05-29T21:37Z

Jag märkte att du använde ett recordset för att lägga till poster (Gud förbjude), så jag ändrade mitt inlägg ovan så att det skulle fungera utan övriga tillägg... :)

Permalänk: https://www.webforum.nu/p/270727

## #12 — PatrikB, 2001-05-29T21:51Z

ok,
på info sidan så får du fram totalt antal röster på detta sätt:

```
SELECT SUM(AntalRoster) As TotRoster FROM Roster"
Set objRS = objConn.Execute(strSQL)

	intTotRoster = objRS("TotRoster")

	objRS.Close
Set objRS = Nothing
```

Du får ändra så att objConn har samma namn som ditt conn-object.

Sedan när du listar ut alla medlemmar på infosidan så hämtar du ju ut hur många röster varje medlem har.
Ta det och dela med intTotRoster.
Sedan är det bara att ta den siffran \* 100 så får du hur många procent som har röstat på just den medlemmen.

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/270728

## #13 — crisse6, 2001-05-30T20:44Z

Tack PatrikB!

Vide \>\> Är det alltså bara min SQL-sats som jag ska ändra?? Alltså denna rad:

```
SQL = "SELECT * FROM alternativ"
```

till:

```
SQL = "SELECT * FROM alternativ Where UserName = '"&Request.Form("UserName")&"'"
```

eller hur menar du? Du får gärna ändra i min kod som lägger till rösterna... 

sedan, hur menar du att formuläret ska vara uppbyggt på sidan innan där allt läggs till... har just nu bara 5 radiobuttons + en submitknapp...ngt mer?

Permalänk: https://www.webforum.nu/p/270729

## #14 — jispir, 2001-05-30T20:58Z

ja byt ut SQL-satsen

Permalänk: https://www.webforum.nu/p/270730

## #15 — nakoz, 2001-05-30T21:33Z

> Vide, Nakoz, PatrikB, emission, LarsG eller @nders, var är ni? Detta är väl inte såååå svårt...?

wow! så nu platsar man bland de stora grabbarna? :e :e :e

Permalänk: https://www.webforum.nu/p/270731

## #16 — crisse6, 2001-05-31T18:56Z

ha ha... javisst nakoz.. vadå, du har la hjälpt till en del...???? :e :e

(psst... förutsätter att jag blir tillkallad vid behov av hjälp... :q :e)

Permalänk: https://www.webforum.nu/p/270732

## #17 — @nders, 2001-05-31T18:58Z

nämner du nakoz före mig?
va i helvete! ;) :e :)

Permalänk: https://www.webforum.nu/p/270733

## #18 — crisse6, 2001-05-31T19:03Z

Okaj! 

För att vi inte ska få sura miner här på wf :e så säger jag följande:

- namnen ligger inte baserat på hur duktig man är... he he! (förutom @nders då, för han är ju inte så duktig, :p :e)
- det finns säkert andra grymma här som jag glömt, sorry :(

bye bye! försök nu istället att hjälpa mig... :e

Permalänk: https://www.webforum.nu/p/270734

## #19 — crisse6, 2001-05-31T19:17Z

hmm... får detta felmess:

```
ADODB.Field error '800a0bcd' 

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats; åtgärden som programmet begärt kräver en aktuell post. 

/groda/rostat.asp, line 38
```

line 38:

```
Y = RecSet("AltFyra")
```

men asså, jag ändrade sql-satsen och la till fältet username i db:n... men ska jag inte ha ngt typ INSERT för formuläret username...??? har asså ett fält i formuläret vid namn username där en querystring ligger... med det username man läser info om... hmmm...hur får jag då själva inläggningen i db:n att lägga just den röst man valde på den man läser om...???? Kom igen! :e :e

Permalänk: https://www.webforum.nu/p/270735

## #20 — crisse6, 2001-05-31T20:30Z

har fått lite hjälp av Morph som tyckte jag skulle ändra IDG´s skript (såklart) men vi får inte rätt på det:

```
<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsRosta = Server.Createobject("ADODB.Recordset")
MdbFilePath = Server.MapPath("rosta.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"

sql = "SELECT betyg, antalRoster FROM alternativ WHERE username='"& Request.Form("username") &"'"
Response.Write SQL
Set rsRosta = databas.execute (sql)
%>
<%
'##### sen lägger du på den senaste rösten #######

betyg = Cint(rsRosta("betyg")) + Cint(Request.Form("knapp"))
antalRoster = rsRosta("antalRoster") + 1

'###### sen trycker du in de nya värdena i databasen #######

sql = "UPDATE alternativ SET betyg="& betyg &", antalRoster="& antalRoster
Response.Write sql
Resoponse.Write rsRosta("betyg")
Resoponse.Write Request.Form("knapp")
Databas.Execute sql
%>
```

ngt som är skumt... får felmess (har skrivit ut sql med response.write):

```
SELECT betyg, antalRoster FROM alternativ WHERE username='*karin*' error '80020009' 
Undantag inträffade. 

/groda/rostat.asp, line 26
```

rad 26:

```
betyg = Cint(rsRosta("betyg")) + Cint(Request.Form("knapp"))
```

Permalänk: https://www.webforum.nu/p/270736

---

Tråden på webben: https://www.webforum.nu/amne/asp/9846-röstning  
Nästa sida: https://www.webforum.nu/amne/asp/9846-röstning/page2.md
