lenizMedlem sedan aug. 2001676 inlägg Hej!
Någon som förstår detta?
Bildnummer skickas iväg i en querystring, det kan antingen vara 1 eller 2.
Sedan kontrolleras det hela så här:
bildnummer=1
(det får automatiskt värdet 1 först)
sedan...
if len(trim(request("bildnummer"))) \> 0 and isnumeric(request("bildnummer")) = true then
bildnummer=request("bildnummer")
end if
Här kommer problemet in. Bild nummer 2 visas aldrig trots att bildnummer=2 är skickad i querystringen.
Detta kollas nämligen längre ned i koden med
if bildnummer=1 then
respektive
if bildnummer=2 then
Vad kan det vara för fel?
Kan också nämna att det fungerar utmärkt på min IIS men inte på webbhotellet.
Mvh Lena
@ndersMedlem sedan juni 200032 969 inlägg Man ska alltid se till att man har koll på sina subtyper. Jag skulle föreslå en typkonvertering, så du kan jämföra med tal:
if len(trim(request("bildnummer"))) > 0 and isnumeric(request("bildnummer")) = true then
bildnummer=[b]clng(request("bildnummer"))[/b]
end if
Mvh,
lenizMedlem sedan aug. 2001676 inlägg Hej!
Tack för ditt svar.
Tyvärr fungerar det inte ändå =(
Några andra idéer?
Mvh Lena
@ndersMedlem sedan juni 200032 969 inlägg Hmm, det verkar konstigt.
Kan vi få se lite mer kod, sammanhängande?
Mvh
lenizMedlem sedan aug. 2001676 inlägg Visst, här kommer en bunt!
<%
bildnummer=1
if len(trim(request("bildnummer"))) > 0 and isnumeric(request("bildnummer")) = true then
bildnummer=clng(request("bildnummer"))
end if
bildraknare=0
sql = "select \* from bilder where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
do until rs.eof
bildraknare=bildraknare + 1
rs.movenext
loop
if bildraknare = 1 then
sql = "select \* from v_alla_detaljer where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%\>
\<img src="img/tombild2.gif" height="120" width="250"\>
\<%
else
%\>
\<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000"\>
\<tr\>
\<td bgcolor="ffffff"\>\<img src="img/\<%=rs("bild")%\>" width="\<%=rs("bredd")%\>" height="\<%=rs("hojd")%\>" alt="\<%=rs("Bildkommentar")%\>"\>\</td\>
\</tr\>
\<%if rs("Bildkommentar")\<\> "" and rs("Bildkommentar") \<\> " " then%\>
\<tr\>
\<td valign="top" width="100%" bgcolor="000000"\>
\<table cellpadding="2" width="100%"\>
\<tr\>
\<td width="100%"\>\<center\>
\<span class="vittext11"\>\<%=rs("bildkommentar")%\>\</span\>\<br\>
\</td\>
\</tr\>
\</table\>
\</td\>
\</tr\>
\<%end if
%\>
\</table\>
\<%end if
else
if bildnummer=1 then
sql = "select top 1 \* from bilder where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%\>
\<img src="img/tombild2.gif" height="120" width="250"\>
\<%
else
%\>
\<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000"\>
\<tr\>
\<td bgcolor="ffffff"\>\<img src="img/\<%=rs("bild")%\>" width="\<%=rs("bredd")%\>" height="\<%=rs("hojd")%\>" alt="\<%=rs("Bildkommentar")%\>"\>\</td\>
\</tr\>
\<%if rs("Bildkommentar")\<\> "" and rs("Bildkommentar") \<\> " " then%\>
\<tr\>
\<td valign="top" width="100%" bgcolor="000000"\>
\<table cellpadding="2" width="100%"\>
\<tr\>
\<td width="100%"\>\<center\>
\<span class="vittext11"\>\<%=rs("bildkommentar")%\>\</span\>\<br\>
\</td\>
\</tr\>
\</table\>
\</td\>
\</tr\>
\<%end if
%\>
\<tr\>
\<td valign="top" width="100%" bgcolor="555555"\>
\<table cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000"\>
\<tr\>
\<td width="100%"\>\<center\>
\<a href="stuga.asp?stugid=\<%=rs("stugid")%\>&bildnummer=2"\>\<font color="ffffff"\>\<span class="text11"\>Nästa bild »\</span\>\</font\>\</a\>
\</td\>
\</tr\>
\</table\>
\</td\>
\</tr\>
\</table\>
\<%end if
end if
if bildnummer=2 then
sql = "select top 1 \* from bilder where stugID = " & stugID & " order by bild asc"
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%\>
\<img src="img/tombild2.gif" height="120" width="250"\>
\<%
else
%\>
\<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000"\>
\<tr\>
\<td bgcolor="ffffff"\>\<img src="img/\<%=rs("bild")%\>" width="\<%=rs("bredd")%\>" height="\<%=rs("hojd")%\>" alt="\<%=rs("Bildkommentar")%\>"\>\</td\>
\</tr\>
\<%if rs("Bildkommentar")\<\> "" and rs("Bildkommentar") \<\> " " then%\>
\<tr\>
\<td valign="top" width="100%" bgcolor="000000"\>
\<table cellpadding="2" width="100%"\>
\<tr\>
\<td width="100%"\>\<center\>
\<span class="vittext11"\>\<%=rs("bildkommentar")%\>\</span\>\<br\>
\</td\>
\</tr\>
\</table\>
\</td\>
\</tr\>
\<%end if
%\>
\<tr\>
\<td valign="top" width="100%" bgcolor="555555"\>
\<table cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000"\>
\<tr\>
\<td width="100%"\>\<center\>
\<a href="stuga.asp?stugid=\<%=rs("stugid")%\>&bildnummer=1"\>\<font color="ffffff"\>\<span class="text11"\>Föregående bild »\</span\>\</font\>\</a\>
\</td\>
\</tr\>
\</table\>
\</td\>
\</tr\>
\</table\>
\<%end if
end if
end if%\>
@ndersMedlem sedan juni 200032 969 inlägg Det där var inte speciellt läsvänligt. Jag indenterade koden för att kunna läsa den överhuvudtaget, och här kommer den innanför kodtaggar:
<%
bildnummer=1
if len(trim(request("bildnummer"))) > 0 and isnumeric(request("bildnummer")) = true then
bildnummer=clng(request("bildnummer"))
end if
bildraknare=0
sql = "select * from bilder where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
do until rs.eof
bildraknare=bildraknare + 1
rs.movenext
loop
if bildraknare = 1 then
sql = "select * from v_alla_detaljer where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%>
<img src="img/tombild2.gif" height="120" width="250">
<%
else
%>
<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000">
<tr>
<td bgcolor="ffffff"><img src="img/<%=rs("bild")%>" width="<%=rs("bredd")%>" height="<%=rs("hojd")%>" alt="<%=rs("Bildkommentar")%>"></td>
</tr>
<%if rs("Bildkommentar")<> "" and rs("Bildkommentar") <> " " then%>
<tr>
<td valign="top" width="100%" bgcolor="000000">
<table cellpadding="2" width="100%">
<tr>
<td width="100%"><center>
<span class="vittext11"><%=rs("bildkommentar")%></span><br>
</td>
</tr>
</table>
</td>
</tr>
<%end if
%>
</table>
<%end if
else
if bildnummer=1 then
sql = "select top 1 * from bilder where stugID = " & stugID
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%>
<img src="img/tombild2.gif" height="120" width="250">
<%
else
%>
<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000">
<tr>
<td bgcolor="ffffff"><img src="img/<%=rs("bild")%>" width="<%=rs("bredd")%>" height="<%=rs("hojd")%>" alt="<%=rs("Bildkommentar")%>"></td>
</tr>
<%if rs("Bildkommentar")<> "" and rs("Bildkommentar") <> " " then%>
<tr>
<td valign="top" width="100%" bgcolor="000000">
<table cellpadding="2" width="100%">
<tr>
<td width="100%"><center>
<span class="vittext11"><%=rs("bildkommentar")%></span><br>
</td>
</tr>
</table>
</td>
</tr>
<%end if
%>
<tr>
<td valign="top" width="100%" bgcolor="555555">
<table cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000">
<tr>
<td width="100%"><center>
<a href="stuga.asp?stugid=<%=rs("stugid")%>&bildnummer=2"><font color="ffffff"><span class="text11">Nästa bild »</span></font></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<%end if
end if
if bildnummer=2 then
sql = "select top 1 * from bilder where stugID = " & stugID & " order by bild asc"
set rs = stugdatabas.Execute(sql)
if rs("bild") = "tombild.gif" then
%>
<img src="img/tombild2.gif" height="120" width="250">
<%
else
%>
<table bgcolor="ffffff" cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000">
<tr>
<td bgcolor="ffffff"><img src="img/<%=rs("bild")%>" width="<%=rs("bredd")%>" height="<%=rs("hojd")%>" alt="<%=rs("Bildkommentar")%>"></td>
</tr>
<%if rs("Bildkommentar")<> "" and rs("Bildkommentar") <> " " then%>
<tr>
<td valign="top" width="100%" bgcolor="000000">
<table cellpadding="2" width="100%">
<tr>
<td width="100%"><center>
<span class="vittext11"><%=rs("bildkommentar")%></span><br>
</td>
</tr>
</table>
</td>
</tr>
<%end if
%>
<tr>
<td valign="top" width="100%" bgcolor="555555">
<table cellpadding="0" cellspacing="0" width="100%" style="border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px" bordercolor="000000">
<tr>
<td width="100%"><center>
<a href="stuga.asp?stugid=<%=rs("stugid")%>&bildnummer=1"><font color="ffffff"><span class="text11">Föregående bild »</span></font></a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<%end if
end if
end if%>
Min fråga är: Hur vet du att det aldrig väljs bild 2? I din kod ser det ut som att det absolut kan väljas samma bild, eftersom du bara har order by i den andra (för bildnummer 2), och dessutom asc, vilket innebär att bild 1 borde komma överst, och därmed borde vara den som kommer när bildnummer är 2.
Lägg med en sortering på din första sql-fråga, order by bild asc, och ändra till desc i den andra, så kanske det blir bättre?
lenizMedlem sedan aug. 2001676 inlägg Hej!
Nej jag såg just att det inte blev så bra med koden inklistrad så där. Ber om ursäkt.
Jag testade med desc först men då fungerade det inte i min IIS så därför ändrade jag till asc och då gick det bra där. Förstår fortfarande inte hur det kan skilja sig mellan IIS och webbhotellet...
Nu fungerar det dock bra på webbhotellet så jag tackar och bockar!
/Lena