crisse6Medlem sedan dec. 20002 526 inlägg 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...
------------------
www.groda.net *kvack*, *kvack*
TobbsterMedlem sedan mars 2001309 inlägg 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.....
------------------
Plikten framför Allt......
crisse6Medlem sedan dec. 20002 526 inlägg 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
------------------
www.groda.net *kvack*, *kvack*
TobbsterMedlem sedan mars 2001309 inlägg 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å ?
------------------
Plikten framför Allt......
crisse6Medlem sedan dec. 20002 526 inlägg 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?
------------------
www.groda.net *kvack*, *kvack*
TobbsterMedlem sedan mars 2001309 inlägg 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.
------------------
Plikten framför Allt......
crisse6Medlem sedan dec. 20002 526 inlägg 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?
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inlägg Vide, Nakoz, PatrikB, emission, LarsG, Morph eller @nders, var är ni? Detta är väl inte såååå svårt...? :e
------------------
www.groda.net *kvack*, *kvack*
[Redigerat av crisse6 den 31 maj 2001]
VideMedlem sedan dec. 19998 577 inlägg SQL = "SELECT * FROM alternativ Where UserName = '"&Request.Form("UserName")&"'"
Givetvis har du skickat med användarnamnet i ditt formulär också... :)
------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com
[Redigerat av Vide den 29 maj 2001]
crisse6Medlem sedan dec. 20002 526 inlägg
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 ?
------------------
www.groda.net *kvack*, *kvack*
VideMedlem sedan dec. 19998 577 inlägg 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... :)
------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com
PatrikBMedlem sedan mars 20002 836 inlägg 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
------------------
*Det jämnar ut sig sa han som sket i byxan och satte sig ned*
[Redigerat av PatrikB den 29 maj 2001]
crisse6Medlem sedan dec. 20002 526 inlägg 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?
------------------
www.groda.net *kvack*, *kvack*
jispirMedlem sedan maj 20011 343 inlägg ja byt ut SQL-satsen
------------------
verktygslådan
Ett gott trams förlänger
livet :e
nakozMedlem sedan dec. 1999653 inlägg
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
------------------
void[]
stash/$gu&-public(querystring)/n int{}bind "2" "say i own!" :)
crisse6Medlem sedan dec. 20002 526 inlägg 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)
------------------
www.groda.net *kvack*, *kvack*
@ndersMedlem sedan juni 200032 969 inlägg nämner du nakoz före mig?
va i helvete! ;) :e :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>
crisse6Medlem sedan dec. 20002 526 inlägg 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
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inlägg 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
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inlägg 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"))
------------------
www.groda.net *kvack*, *kvack*