Enklast:
Sql = "Select * from members [b]where not bild = 'ingen.gif'[/b]"
Mvh,
Red: kladdigt, sorry.
------------------
All your base are belong to me.
[Redigerat av @nders den 04 nov 2001]
21 svar · 272 visningar · startad av jboy_87
Hur gör jag så att det inte bilden inget.gif visas i slumpa funktionen.
så här ser koden ut
Och jag har en tabell som heter Bild2
där e sökvägen till bilderna efter att man laddat upp bilden.
<%
Response.Buffer = True
Function Show()
Randomize
RandNum = Int(Rnd * Ialt) + 1
Record.MoveFirst
For i = 1 to RandNum - 1
Record.MoveNext
next
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild2") & "' alt='" & Record("username") & Record("username") & "' border = '1' width= '65' height= '77'></a>"
end function
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members"
Set Record = Rs.Execute(Sql)
%>
------------------
ASP är bäst fuck the rest!!!
Enklast:
Sql = "Select * from members [b]where not bild = 'ingen.gif'[/b]"
Mvh,
Red: kladdigt, sorry.
------------------
All your base are belong to me.
[Redigerat av @nders den 04 nov 2001]
Tycker Slumpfunktionen verkar lite seg :(
Här är ett annat sätt som inte tar med inget.gif tror jag:
Set Databas = Server.CreateObject("ADODB.Connection")
Databas.Open ConString
SQL = "select Count(*) AS klo from tabell WHERE bild2 <>'inget.gif'"
Set RS_klo = databas.execute(SQL)
Randomize
Set rstemp = Server.Createobject("ADODB.Recordset")
SQL = "Select * from tabell WHERE bild2 <> 'inget.gif'"
rstemp.cursorlocation = 3
rstemp.cachesize = 5
rstemp.open SQL, ConString
rstemp.move Int(Rnd*RS_klo("klo"))
Tror det där borde funka. Men det är Vide som ska ha credit för det i så fall ;)
[r] du ska nog lyssna mer på @nders än på mig ;) [/r]
------------------
//M@rtin || Peachy.nu\\
ni taLar Bra laTiN
[Redigerat av M@rtin den 04 nov 2001]
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'
får felmeddelandet:
ADODB.Recordset (0x800A0BCD)
Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.
/main.asp, line 31
------------------
ASP är bäst fuck the rest!!!
Hur ser rad 31 ut? Visa lite kod omkring också.
------------------
essentitia preter non sans multiplicandum
<%
Response.Buffer = True
Function Show()
Randomize
RandNum = Int(Rnd * Ialt) + 1
Record.MoveFirst
For i = 1 to RandNum - 1
Record.MoveNext <--- rad 30
next
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild") & "' alt='" & Record("username") & Record("username") & "' border = '1' width= '65' height= '77'></a>"
end function
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
%>
------------------
ASP är bäst fuck the rest!!!
löste det men nu vill jag att det inte slumpas fram samma bild
------------------
ASP är bäst fuck the rest!!!
Vad menar du med samma? Nu visar du bara en bild.
Eller menar du som visats tidigare? I så fall måste du hålla reda på vilka bilder som har visats.
------------------
essentitia preter non sans multiplicandum
skriver ut så här:
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
4 bilder
------------------
ASP är bäst fuck the rest!!!
<%
Response.Buffer = True
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
record.close
set record = nothing
Set Record = server.createobject("adodb.recordset")
record.cursorlocation = 3
record.open sql,rs
dim bilder(3)
randomize
for i = 0 to 3
found = false
do until true
RandNum = Int(Rnd * Ialt)
for j = 0 to i - 1
if bilder(j) = RandNum then
found = true
exit for
end if
next
if not found or i = 0 then exit do
loop
bilder(i) = RandNum
record.Movefirst
Record.Move randNum
Response.Write "<td><center>"
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild") & "' alt='" & Record("username") & Record("username") & "' border = '1' width= '65' height= '77'></a>"
response.write "</td>"
next
record.close
rs.close
red: du får nog fixa till utskriften och lägga till lite <table> <tr> etc.
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 04 nov 2001]
Jag tog bort funktionen show därför att
den inte passade in om du vill se till att man inte skall se samma bild flera gånger. (Dessutom så använde den globala variabler! Sluta med sådant.)
Vad är det som inte fungerar?
------------------
essentitia preter non sans multiplicandum
asså jag fattar ingenting??
<%
Response.Buffer = True
Function Show()
Randomize
RandNum = Int(Rnd * Ialt) + 1
Record.MoveFirst
For i = 1 to RandNum - 1
Record.MoveNext
next
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild") & "' alt='" & Record("username")& Record("syfte") & "' border = '1' width= '65' height= '77'></a>"
end function
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members "
Set Record = Rs.Execute(Sql)
%>
så här skriver jag ut den:
\<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse"\>
<tr>
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
<td><% Response.Write "<center>"
Show() %></td>
</tr>
------------------
ASP är bäst fuck the rest!!!
Nu lade jag till några taggar så att du skall kunna använda det här i stället för det du hade tidigare. Om du vill ha funktionen att man inte visar samma bild flera gånger så passar det inte riktigt in med den struktur du hade tidigare.
<%
Response.Buffer = True
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
record.close
set record = nothing
Set Record = server.createobject("adodb.recordset")
record.cursorlocation = 3
record.open sql,rs
dim bilder(3)
randomize
%>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse">
<tr>
<%
for i = 0 to 3
found = false
do until true
RandNum = Int(Rnd * Ialt)
for j = 0 to i - 1
if bilder(j) = RandNum then
found = true
exit for
end if
next
if not found or i = 0 then exit do
loop
bilder(i) = RandNum
record.Movefirst
Record.Move randNum
Response.Write "<td><center>"
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild") & "' alt='" & Record("username") & Record("username") & "' border = '1' width= '65' height= '77'></a>"
response.write "</td>"
next
record.close
rs.close
%>
</tr></table>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse">
<tr>
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 04 nov 2001]
det blir ju samma bild på alla fyra och slumpas ej
------------------
ASP är bäst fuck the rest!!!
Kan du lägga in lite traceutskrifter så att man kan se vad som händer ?
response.write "RandNum = " & randNum & " då i = " & i & "<br>"
record.Movefirst
Record.Move randNum
response.write "record pos= " & record.absolutePosition & " då i = " & i & "<br>"
------------------
essentitia preter non sans multiplicandum
nu använder jag bara denna kod:
<%
Response.Buffer = True
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
record.close
set record = nothing
Set Record = server.createobject("adodb.recordset")
record.cursorlocation = 3
record.open sql,rs
dim bilder(3)
randomize
%>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse">
<tr>
<%
for i = 0 to 3
found = false
do until true
RandNum = Int(Rnd * Ialt)
for j = 0 to i - 1
if bilder(j) = RandNum then
found = true
exit for
end if
next
if not found or i = 0 then exit do
loop
bilder(i) = RandNum
record.Movefirst
Record.Move randNum
Response.Write "<td><center>"
Response.Write "<a href='whois.asp?checkid=" & Record("id") & "'><img src='" & Record("bild") & "' alt='" & Record("username") & Record("username") & "' border = '1' width= '65' height= '77'></a>"
response.write "</td>"
next
record.close
rs.close
%>
</tr></table>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse">
<tr>
</table>
------------------
ASP är bäst fuck the rest!!!
Vad blir det för resultat om du lägger till dom response.write som jag skrev i mitt förra inlägg?
------------------
essentitia preter non sans multiplicandum
Blir fel på Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A0401)
Slut på programsats förväntas.
/test/default2.asp, line 41, column 81
<%
Response.Buffer = True
Set Rs = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("Database/members.mdb")
Rs.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
Sql = "Select count(*) as Found from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
Set Record = Rs.Execute(Sql)
Ialt = Record("found")
Sql = "Select * from members where not bild = 'Bilder/Medlemmar/ingen.gif'"
record.close
set record = nothing
Set Record = server.createobject("adodb.recordset")
record.cursorlocation = 3
record.open sql,rs
dim bilder(3)
randomize
%>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse">
<tr>
<%
for i = 0 to 3
found = false
do until true
RandNum = Int(Rnd * Ialt)
for j = 0 to i - 1
if bilder(j) = RandNum then
found = true
exit for
end if
next
if not found or i = 0 then exit do
loop
bilder(i) = RandNum
record.Movefirst
Record.Move randNum
response.write "RandNum = " & randNum & " då i = " & i & "<br>"
record.Movefirst
Record.Move randNum
response.write "record pos= " & record.absolutePosition & " då i = " & i & "<br>"next
record.close
rs.close
%>
------------------
ASP är bäst fuck the rest!!!
blir så här också
efter att lekt med koden
RandNum = då i = 0
record pos= 1 då i = 0
RandNum = då i = 1
record pos= 1 då i = 1
RandNum = då i = 2
record pos= 1 då i = 2
RandNum = då i = 3
record pos= 1 då i = 3
------------------
ASP är bäst fuck the rest!!!