Med denna kod visas bara två bilder trots att fler än så har bilder uppladdade, det ska visas 7 st
<%Dim oConn ,strSQL ,bilder ,i, j ,Count ,post ,antalBilder ,Found
Set oConn = server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=193.13.74.203;PORT=3306;DATABASE=xxxxxx; USER=xxxxxx;PASSWORD=xxxxxx;OPTION=3;"
strSQL = "SELECT userID, username, picture, fotovalidering FROM tblUsers WHERE not picture=""nopic.jpg"" and not fotovalidering=1"
Set rs = oConn.Execute(strSQL)
If rs.EOF Then
Response.Write "Det finns inga bilder..."
Else
Response.Write "<table cellspacing=""3""><tr><td align=""left"">"
bilder = rs.GetRows()
antalBilder = UBound(bilder, 2)
Count = 7
If Count > antalBilder Then
Count = antalBilder
End If
ReDim Shown(Count)
Randomize
For i = 1 To Count
Do
Found = False
post = Int(Rnd * antalBilder) +1
For j = 1 To i - 1
If Shown(j) = post Then
Found = True
Exit For
End If
Next
Loop While Found
Shown(i) = post
'Response.Write "<a href=""view-preview.asp?userID="&bilder(0, post)&"""><img style=""border-style:none;"" height=""100"" width=""90"" src=""/images/users/" & bilder(2, post) & """ alt=""" & bilder(1, post) & """ /></a> "
Response.Write "<img style=""border-style:none;"" height=""60"" width=""50"" src=""/images/users/" & bilder(2, post) & """ alt=""" & bilder(1, post) & """ /> "
Next
Response.Write "</td></tr></table>"
End If
rs.Close
Set rs = Nothing
%>
För det första, koden funkade perfekt med Access, nu har jag MySQL
För det andra...skriver jag ut den enda användbara variabeln antalBilder får jag 2 och det är ju bara 2 bilder som visas, Count vet jag ju att den är 7 och strSQL ger mig inget av värde vid utskrift
<%Set slumpRS=objConn.Execute("Select * From tblUsers where not picture=""nopic.jpg"" or fotovalidering=""1"" order by rand() limit 1")
if slumpRS("sex") = "M" then
gender = "Man, "&alder(slumpRS("persnr"))
else
gender = "Kvinna, "&alder(slumpRS("persnr"))
end if
if CBool(slumpRS("inloggad")) then
online="<font color=""green"">Online</font>"
else
offline="<font color=""red"">Offline</font>"
end if%>
<a class="menu" href="/view.asp?userID=<%=slumpRS("userID")%>">
<img src="/images/users/<%=slumpRS("picture")%>" height="100" width="80" border="0">
</a>
1. Använd alltid enkelfnuttar som strängavgränsare i SQL. Inte för att det blir fel med dubbelfnuttar, utan för att det är det enda rätta enligt standard, och bra att vänja sig vid.
2. Låt databasen slumpa och begränsa utmängden.
<%Dim oConn ,strSQL ,bilder ,i, j ,Count ,post ,antalBilder ,Found
Set oConn = server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={MySQL ODBC 3.51 Driver};SERVER=193.13.74.203;PORT=3306;DATABASE=xxxxxx; USER=xxxxxx;PASSWORD=xxxxxx;OPTION=3;"
strSQL = "SELECT userID, username, picture, fotovalidering FROM tblUsers WHERE not picture='nopic.jpg' and not fotovalidering=1 ORDER BY RAND() LIMIT 7"
Set rs = oConn.Execute(strSQL)
If rs.EOF Then
Response.Write "Det finns inga bilder..."
Else
Response.Write "<table cellspacing=""3""><tr><td align=""left"">"
do until rs.eof
Response.Write "<img style=""border-style:none;"" height=""60"" width=""50"" src=""/images/users/" & rs("picture") & """ alt=""" & rs("username") & """ /> "
rs.movenext
loop
Response.Write "</td></tr></table>"
End If
rs.Close
Set rs = Nothing
%>
WebbisNet skrev:
jag får samma fel med denna kod på en annan sida
Samma fel? Den koden är ju begränsad till att endast visa en bild. Hur kan det bli samma fel?
och med koden på den andra sidan så ser jag ett brett utbud av medlemmar med en bild i taget med denna kod
Set slumpRS=objConn.Execute("Select * From tblUsers where not fotovalidering='1' order by rand() limit 1")
men eftersom jag inte vill ha med nopic.jpg så visar
Set slumpRS=objConn.Execute("Select * From tblUsers where not 'nopic.jpg' or fotovalidering='1' order by rand() limit 1")
bara 2 st bilder....som med den andra koden jag hade problem med i denna tråd
För första problemet, kolla in slumpade bilder på startsidan (inloggningssidan) på http://www.webbisen.com
logga sen in med demo och demo och kolla slumpbilden som använder koden
Set slumpRS=objConn.Execute("Select * From tblUsers where not fotovalidering='1' order by rand() limit 1")