crisse6Medlem sedan dec. 20002 526 inläggjag har denna kod som slupar ut en person som är medlem. Jag vill ha den så att den slumpar fram typ 5 st på rad samtidigt så att man lägger dom på rad... som lunarstorm har ungefär....
hej!
------------------
www.groda.net *kvack*, *kvack*
VideMedlem sedan dec. 19998 577 inläggJag skulle skapat en function av det hela, och sedan anropa den fem gånger...
Sedan skulle jag kolla så att det inte förekommer två likadana profiler...
------------------
Budweiser - Slightly contaminated water... probably harmless, but I would recommend boiling before you drink it...
webEye.nu SweQuake.com
crisse6Medlem sedan dec. 20002 526 inläggokej.... ingen som vill visa ett litet exempel...?
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg Något att utgå ifrån
http://cgi.webforum.nu/wf/Forum11/HTML/000282.html
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inläggokej, har kollat och tog din lilla kod LarsG, men hur och vad ska man ändra i denna kod för att få den skriva ut te x 6 st som i exemplet? (jag vill ha denna info utskriven; namn, efternamn osv... )
(pssst... vill passa på att gratta en av dom grymaste webnissarna jag vet "Emission!", grattis!)
------------------
www.groda.net *kvack*, *kvack*
[Redigerat av crisse6 den 01 maj 2001]
EemissionMedlem sedan dec. 19996 721 inlägg Här är en annan variant, som bygger på att tar in ett helt recordset lokalt (släpper kopplingen till databasen), lägger ett slumpvärde i en kolumn, och sorterar på den kolumnen.
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,UserID FROM Users",conn
set rs.activeconnection=nothing
conn.Close
do until rs.eof
randomize
rs(1)=rnd*1000 ' eller nåt
rs.movenext
loop
rs.sort="UserID DESC"
rs.movefirst
'loopa ut max 5
do until rs.eof or rs.absoluteposition=5
' gör vad du vill med denna
rs.movenext
loop
crisse6Medlem sedan dec. 20002 526 inläggtackar! men det blir fel.... vad?
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,ID FROM Users",conn
set rs.activeconnection=nothing
conn.Close
do until rs.eof
randomize
rs(1)=rnd*1000 ' eller nåt
rs.movenext
loop
rs.sort="ID DESC"
rs.movefirst
'loopa ut max 5
do until rs.eof or rs.absoluteposition=5
' gör vad du vill med denna
rs.movenext
loop
%>
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg Du öppnar en connectionobjekt som heter databas, men senare i koden så använder du conn.
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inläggokej, det blev ett annat fel nu bara... denna rad gillar den inte:
rs(1)=rnd*1000 ' eller nåt
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg rs(1)=int(rnd*1000) ' eller nåt
Vad blir det för fel?
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inläggfel ändå... här är hela koden:
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
rs.locktype=4
rs.open "SELECT Username,ID FROM Users",databas
set rs.activeconnection=nothing
databas.Close
do until rs.eof
randomize
rs(1)=int(rnd*1000) ' eller nåt
rs.movenext
loop
rs.sort="ID DESC"
rs.movefirst
'loopa ut max 5
do until rs.eof or rs.absoluteposition=5
' gör vad du vill med denna
rs.movenext
loop
%>
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg Vilken felkod och feltext får du och på vilken rad inträffar felet?
Eller får du bara inte ut något på sidan? Som det är nu så har du ju ingen utskrift av data.
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inläggokej... det är på raden
rs(1)=int(rnd*1000) ' eller nåt
får detta felmedd:
Microsoft Cursor Engine error '80040e21'
Fel uppstod.
/groda/hehe.asp, line 15
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg Gjorde en sökning på ditt felnummer hos microsoft. Det fanns en felrapport som nästan stämmer in på beteendet i din kod
http://support.microsoft.com/support/kb/articles/Q247/0/29.ASP?LN=EN-US&SD=gn&FR=0&qry=80040e21&rnk=20&src=DHCS_MSPSS_gn_SRCH&SPR=MSALL
Där står också att felet är rättat i senare versioner av MDAC så om du inte har senaste så kanske det är dags att ladda hem den.
------------------
essentitia preter non sans multiplicandum
crisse6Medlem sedan dec. 20002 526 inläggvad ska jag ha....? har win98 och pws 4.0 hjälp!
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inläggjag undrar, varför ska jag uppgradera för ett skript som har fungerat när man endast tog fram 1 st slumpning... ? så mkt skillnad är det väl inte? kolla igenom min kod igen, det borde ju finnas fel....eller?
------------------
www.groda.net *kvack*, *kvack*
LLarsGMedlem sedan dec. 200012 464 inlägg Nja, just det som jag hänvisade till berodde ju på ett fel i ADO. Så om det är det som ställer till det så räcker det inte med någon ändring i din kod.
Du kan ju testa lite olika varianter, t.ex. att ange olika locktype eller ha default (dvs utelämna tilldelningen helt). Du kan ju också testa att använda ett extra fält för sorteringen
<%
Set Databas = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("users.mdb")
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
'***** Hämta en länk slumpartat ifrån databasen *****
set rs=server.createobject("ADODB.Recordset")
rs.cursorlocation=3
'rs.locktype=4
rs.open "SELECT Username,ID,1 as EXT FROM Users",databas
set rs.activeconnection=nothing
databas.Close
do until rs.eof
randomize
rs(2)=int(rnd*1000) ' eller nåt
rs.movenext
loop
rs.sort="EXT DESC"
rs.movefirst
'loopa ut max 5
do until rs.eof or rs.absoluteposition=5
' gör vad du vill med denna
rs.movenext
loop
%>
Ett annat alternativ är ju att skriva om det helt ungefär som jag skissade i den andra tråden.
------------------
essentitia preter non sans multiplicandum
EemissionMedlem sedan dec. 19996 721 inlägg "varför ska jag uppgradera för ett skript som har fungerat när man endast tog fram 1 st slumpning... ? så mkt skillnad är det väl inte?"
Jo, det är mycket stor skillnad på hur dessa skript fungerar.
crisse6Medlem sedan dec. 20002 526 inläggLarsG >> fick detta med din "nya" kod:
ADODB.Field error '800a0cb3'
Åtgärden som programmet begärt stöds inte av leverantören.
/groda/hehe.asp, line 14
line 14:
[b]rs(2)=int(rnd*1000) ' eller nåt[/b]
------------------
www.groda.net *kvack*, *kvack*
crisse6Medlem sedan dec. 20002 526 inläggEmission >> finns det INGET annat sätt att lösa "5 slumpning" på?
Fråga 2: Vad är det jag ska uppdatera för att få mitt problem löst? Jag kan inte sånna grejer som du LarsG snackade om :)
------------------
www.groda.net *kvack*, *kvack*