webForumDet fria alternativet

Varför visas bara två bilder

ASP

12 svar · 511 visningar · startad av WebbisNet

Medlem sedan feb. 20032 027 inlägg
Frågan#1

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>&nbsp;" 
Response.Write "<img style=""border-style:none;"" height=""60"" width=""50"" src=""/images/users/" & bilder(2, post) & """ alt=""" & bilder(1, post) & """ />&nbsp; &nbsp;" 
                            Next 
                            Response.Write "</td></tr></table>" 
                        End If 
                        rs.Close 
                        Set rs = Nothing 
                    %>
Medlem sedan apr. 20031 660 inlägg
#2

HEJ!

Då kan vi alltså förutsätta att du skrivit ut antalBilder och får 7?

Medlem sedan feb. 20032 027 inlägg
#3

J.N. skrev:

HEJ!

Då kan vi alltså förutsätta att du skrivit ut antalBilder och får 7?

När jag skriver ut alla bilder så visas 7 st i taget och jag behöver inte skriva ut för att veta att jag har fler än 7 medlemmar med bild

Medlem sedan feb. 20032 027 inlägg
#4

Ingen som har en lösning?

Medlem sedan apr. 20031 660 inlägg
#5

HEJ!

WebbisNet skrev:

Ingen som har en lösning?

Ingen annan än det vanliga:

1. Skriv ut variabler.
2. Kontrollera var du hamnar i koden.
3. Dubbelkolla allt!

Medlem sedan feb. 20032 027 inlägg
#6

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

Medlem sedan feb. 20032 027 inlägg
#7

jag får samma fel med denna kod på en annan sida

<%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>
Medlem sedan feb. 20032 027 inlägg
#8

ingen som hittar felet?

Medlem sedan dec. 19996 721 inlägg
#9

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") & """ />&nbsp; &nbsp;" 
                                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?

Medlem sedan feb. 20032 027 inlägg
#10

Nu ser jag 3 bilder

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")

Medlem sedan dec. 19996 721 inlägg
#11
Select * From tblUsers where not (picture='nopic.jpg' or fotovalidering='1') order by rand() limit 1

Du har glömt kolumnnamnet och parenteserna är viktiga.

Medlem sedan feb. 20032 027 inlägg
#12

emission skrev:

Select * From tblUsers where not (picture='nopic.jpg' or fotovalidering='1') order by rand() limit 1

Du har glömt kolumnnamnet och parenteserna är viktiga.

TACK, du är bäst

Medlem sedan feb. 20032 027 inlägg
#13

http://webbisen.com/

Vad tycks :-D

283 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
146 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
146 ms — ändringar (db)