webForumDet fria alternativet

If sats problem

26 svar · 595 visningar · startad av Padddan

PadddanMedlem sedan apr. 200416 inlägg
#1

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 ?

MattMedlem sedan feb. 200473 inlägg
#2

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%>
PadddanMedlem sedan apr. 200416 inlägg
#3

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.

tydalMedlem sedan juni 20034 013 inlägg
#4

<%
If Len(RecSet("falt6")) > 0 Then
%> <img src="<% =RecSet("falt6") %>"> <%
Else
%> <img src="news_none.gif"> <%
End If
%>

PadddanMedlem sedan apr. 200416 inlägg
#5

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.

Mika3lMedlem sedan nov. 20018 492 inlägg
#6

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
PadddanMedlem sedan apr. 200416 inlägg
#7

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:

Mika3lMedlem sedan nov. 20018 492 inlägg
#8

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?

PadddanMedlem sedan apr. 200416 inlägg
#9

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.

LarsGMedlem sedan dec. 200012 464 inlägg
#10
if isnull(Recset("falt6")) then

eller

if "" & Recset("falt6") = "" then
PadddanMedlem sedan apr. 200416 inlägg
#11

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 !

PadddanMedlem sedan apr. 200416 inlägg
#12

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.

annesophieMedlem sedan juni 20012 236 inlägg
#13

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....

:)

PadddanMedlem sedan apr. 200416 inlägg
#14

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

PadddanMedlem sedan apr. 200416 inlägg
#15

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.

@ndersMedlem sedan juni 200032 969 inlägg
#16
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?

PadddanMedlem sedan apr. 200416 inlägg
#17

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.

@ndersMedlem sedan juni 200032 969 inlägg
#18

Jag förstår inte riktigt varför du inte helt enkelt använder RecSet("bild")?

annesophieMedlem sedan juni 20012 236 inlägg
#19

RED/ Attans...@nders var snabbare...

PadddanMedlem sedan apr. 200416 inlägg
#20

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%>

187 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)