Detta borde funka. Om du inte har någon data alls i tabellen där falt6 finns.
<% if Recset.Eof then%>
<img src="news_none.gif">
<%else%>
<img src="<%=RecSet("falt6")%>">
<%end if%>
26 svar · 595 visningar · startad av Padddan
Jag har ett problem med en if sats.
Jag har inga bra kunskaper i Asp osv men håller på och lär mig.
Jag vill med en IF sats kunna visa en bild som heter news_none.gif om ett fält som heter falt6 i koden inte är ifyllt med en bild av mig.
Borde inte denna funka ?
<%if Recset(falt6) = "" then%> <img src="news_none.gif">
<%else%> <img src="<%=RecSet(falt6)%>"> <%end if%>
Det enda som visas är "kryssbilden" alltså den hittar ingen bild.
Men koden img src="" genereras.
Jag har provat en hel del varianter, men misslyckats.
Bl.a
<%if Recset(falt6) <> "0" then%> <img src="news_none.gif">
<%else%> <img src="<%=RecSet(falt6)%>"> <%end if%>
<%if Recset("falt6") = "" then%> <img src="news_none.gif">
<%else%> <img src="<%=RecSet("falt6")%>"> <%end if%>
Men jag får det inte att funka.
Den visar bild om jag lagt till en bild själv, Men i de fall jag inte gjort det och fältet är tomt i databasen, så visas "kryssbilden". Dvs. ingen bild hittat.
Kan någon hjälpa mig lite, är jag helt ute och cyklar eller ?
Detta borde funka. Om du inte har någon data alls i tabellen där falt6 finns.
<% if Recset.Eof then%>
<img src="news_none.gif">
<%else%>
<img src="<%=RecSet("falt6")%>">
<%end if%>
Hej Matt !
Tyvärr fungerar det inte.
Jag har letat efter ett värde att sätta mellan ""
Men hittar inget. Har provat med Eof men utan att lyckats.
<%
If Len(RecSet("falt6")) > 0 Then
%> <img src="<% =RecSet("falt6") %>"> <%
Else
%> <img src="news_none.gif"> <%
End If
%>
Hej tydal
Din kod ger "kryssbild" för samtliga.
Dvs även om jag lagt till en bild själv.
Däremot om jag vänder på det:
<%If Len(RecSet(falt6))> 0 Then%> <img src="news_none.gif"> <%Else%> <img src="<%=RecSet(falt6)%>"> <%End If%>
Så visas news_none.gif vid alla tillfällen, även dem jag lagt till en egen bild.
Varför ?
Så borde det faktiskt inte bli !
jag har använt samma If sats till en annan funktion, där det visas en text av typen "bild ej inlagd" om man inte fyller i ett formulärfält med en bildlänk.
Detta funkar, Men inte nu i denna.
Visa gärna hur du hämtar data ur "falt6".
Kan även tipsa om att använda Response.Write istället för att slippa få onödiga <% och %>-taggar som sparar lite tid och (enligt mig) gör koden mer översiktlig.
If RecSet("falt6") <> "" Then
Response.Write("<img src=""" & RecSet("falt6") & """>")
Else
Response.Write("<img src=""news_none.gif"">")
End If
Okej.
jag länkar till hela filen. Så kanske det blir lättare för er att felsöka.
http://w1.331.comhem.se/~u33117546/problem/sokindex.asp
Problemet med If satsen är nästan längst ner på rad 183. Raden börjar med <td>Nyheten inlagd:
Kan inte hitta if-satsen någonstans så jag får lite svårt att få ihop något sammanhang men en sak som jag på sidan var att du har glömt " massor med gånger när du ska skriva ut diverse fält.
Är du säker på att det är någon data i fältet då, utförs någon kontroll?
Ajfaan, Sorry !
Jag tog ju bort den pg.a att filen ligger ute och måste fungera.
Men nu har jag uppdaterat filen för felsökning.
? menar du att det är så här <%=RecSet(falt6)%>
Men ska vara så här överallt <%=RecSet("falt6")%> ?
Kontroll ? hur då ?
Jag har lagt till en billänk enligt följande i ett formulärfält /nyhetsbilder/news_bildnamn.jpg
Jag har kollat i databasen hur det ser ut, och där finns exakt samma bildlänk.
Hej larsG
Den övre raden gjorde att news_none.gif visades när ingen bild var inlagd.
Men när det var en bild inlagd så visades "kryssbild"
Den nedre raden av dina förslag visade "kryssbild" i båda fallen.
men tack för hjälpen...
Fler ?
Börjar tappa hoppet nu !
Tillägg:
Om jag kodar så här <%=RecSet("falt6")%>
Så kommer detta fel:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/sokindex.asp, line 183
Kodar jag så här: <%=RecSet(falt6)%>
Så visar den bild om jag lagt in en.
Har själv haft samma problem nån gång...
Menar du verkligen att LarsG:s förslag med IsNULL inte funkade? Det brukar nämligen vara det som ställer till det om man nu har alla fältnamn rätt etc etc.
Testa igen...
<%IF recSet("falt6")="" OR isNULL(recSet("falt6")) then%>
<img src="news_none.gif">
<%ELSE%>
<img src="<%=recSet("falt6")%>">
<%END IF%>
Ovan funkar hos mig. :)
OM det liger en bild i recSet("falt6"), hur ser innehållet ut då? Ar det tex: minBild.jpg eller finns det ingen extension? Ar sokvagen ratt etc etc...
Jag antar att du har testat att skriva ut response.write recSet("falt6") för att se vad du har för innehåll? Oftast är det bara feltänk som gör att tex en bild inte visas....
:)
Din kodsnutt ger:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name or ordinal.
/sokindex.asp, line 183
Okej
Om jag tar bort " runt falt6 så fungerar det med att news_none.gif visas
Men då visas inte de bilder jag lagt till själv.
Jag skriver in bilderna så här
/nyhetsbilder/news_bildnamn.jpg
Detta står även i databasens fält för detta.
Kodar jag så här: <%=RecSet(falt6)%>
Så visar den bild om jag lagt in en.
Det där förstår jag inte riktigt. Har du en variabel i asp-koden som heter falt6? Annars bör inte det där fungera. Heter fältet i tabellen verkligen falt6?
Hej
Anders
Nej fältet i databasen heter inte falt6, utan bild.
MEN i filen så hänvisar man till fältet bild i databasen via ett fält som heter falt6.
kolla i sokindex.asp så förstår du.
Jag förstår inte riktigt varför du inte helt enkelt använder RecSet("bild")?
RED/ Attans...@nders var snabbare...
Jag har nu provat detta:
<%IF recSet(bild)="" OR isNULL(recSet(bild)) then%> <img src="news_none.gif"><%ELSE%> <img src="<%=recSet(bild)%>"><%END IF%>
Detta ger samma fel som ovan.
och nedan ger bara news_none.gif
<%IF recSet("bild)"="" OR isNULL(recSet("bild")) then%> <img src="news_none.gif"><%ELSE%> <img src="<%=recSet("bild")%>"><%END IF%>