QimenMedlem sedan juni 20015 009 inlägg Hej
Jag har tio värden i en databas i tabellen bungyjump. Varje värde har en titel (stot), ett värde som ska dras av (energi), en förklaring till varje värde (resultat), ett fält med ett värde som ska plussas (pixlar) och slutligen ett fält som har ett värde som ska dras av (IQ).
Jag har även en tabell som heter anvandare.
Hur gör jag en if sats som om querystringen är action=1 så ska det slumpas fram en av de tio posterna, id 1-10 i db:n, när den gjort det ska värdet i energi (tabell anvandare) minskas med värdet i energi (tabell bungyjump). likadant med fältet iq i bungyjump mot iq i anvandare och sen samma sak men då ska värdet pixlar (i anvandare) plussas med värdet i pixlar från bungyjump och så även med respekt i bungyjump mot respekt i anvandare
Går det att slumpa på detta sättet med endast id 1 till 10 i bungyjump? och om det går ställa in så att id 1 slumpas med en chans på 25%
Går detta att genomföra? :)
Har sökt i forumet efter slumpa och random, dock utan att hitta något att använda
QimenMedlem sedan juni 20015 009 inlägg okej, jag tror jag kommit så långt att jag nu bara behöver hämta själv posten ifrån databasen. Men hur gör jag så att den slumpar fram en?
detta funka:
wow= "SELECT * FROM bungyjump order by rnd"
Går det att slumpa på ngt sådant sätt?
SebbeMedlem sedan jan. 20032 285 inlägg Det här använder jag för att slumpa fram en post:
Set objConn = Server.CreateObject("ADODB.Connection")
' Öppna databas
strSQL = "SELECT COUNT(*) AS stycken FROM bungyjump"
Set objRS = objConn.Execute(strSQL)
intSt = objRS("stycken")
intSlump = Int(Rnd * intSt) + 1
Set objRS2 = objConn.Execute("SELECT * FROM bungyjump WHERE id = " & intSlump)
Response.Write(objRS2("id"))
Set objRS2 = Nothing
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
JosefMedlem sedan mars 20023 561 inlägg Sebbe: Varför har du variablerna strDone & i med? Den används ju inte. :q
QimenMedlem sedan juni 20015 009 inlägg Jag försökte med:
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../.../members.mdb")
Set sak = Server.CreateObject("ADODB.Recordset")
Randomize
blanda = cInt(rnd()*4)+1
Addera = "SELECT * FROM bungyjump WHERE ID="& blanda
sak.Open Addera, Connect, 3, 3
Och det funkar som det ska, nästan.
Ibland så får man:
mugabeIE skrev:
Undantag inträffade.
hmmm :q
SebbeMedlem sedan jan. 20032 285 inlägg
Josef skrev:
Sebbe: Varför har du variablerna strDone & i med? Den används ju inte. :q
Oj... Jag har tidigare använt den där koden för att slumpa fram fler än en med. Det är därför de är med, glömde att ta bort dem. :) *Redigerar koden*
SebbeMedlem sedan jan. 20032 285 inlägg
Qimen skrev:
Jag försökte med:
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & server.mappath ("../neta20038708073518/members.mdb")
Set sak = Server.CreateObject("ADODB.Recordset")
Randomize
blanda = cInt(rnd()*4)+1
Addera = "SELECT * FROM bungyjump WHERE ID="& blanda
sak.Open Addera, Connect, 3, 3
Och det funkar som det ska, nästan.
Ibland så får man:
mugabeIE skrev:
Undantag inträffade.
hmmm :q
Är du säker på att det finns 4 st poster i din databas? Det är därför det är säkrast att köra med COUNT(*).
QimenMedlem sedan juni 20015 009 inlägg Ser ut som fyra poster iaf :e
http://qimen.mine.nu/db.gif
SebbeMedlem sedan jan. 20032 285 inlägg Ah, jag tror jag vet vad som är fel. Byt ut
blanda = cInt(rnd()*4)+1
mot
blanda = Int(rnd()*4)+1
QimenMedlem sedan juni 20015 009 inlägg yeah! Tack så mycket Sebbe :bire
Funkar fin fint nu.