webForumDet fria alternativet

Skriva ut att bild finns

ASP

23 svar · 563 visningar · startad av Lorelie

Medlem sedan juni 2005264 inlägg
Frågan#1

Hur gör jag för att få dit ett märke vid en länk för att tala om att på den sidan man kommer till så finns det en bild?

Såhär ser länken till sidan som ev. innehåller en bild ut:


<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
        <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
        <% END IF %>

och såhär ser koden ut som skriver ut en liten bild i menyn om det finns en bild på sidan dit länken går.

<%
IF (rs("bild_url"))<>"" THEN %><img src="arrow.gif" border=0>
<%
END IF %>

Hur gör man för att skriva ut "arrow.gif" efter länken på sidan?
http://www.aramennoc.se/databas/hast.asp?hast_id=106 På den här sidan vill jag ha en arrow efter namnet Slieve Dara eftersom det finns bild på honom (och om det finns på någon annan ska den självklart finnas efter det namnet också).

Medlem sedan dec. 20051 056 inlägg
#2

Jag brukar använda mig av subbar för att designdelen ska bli smidig...

<html>
<head>
<title>Untitled</title>
</head>
<body>

<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
<% ELSE %>
        <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
        [b]<% call subVisaIkonOmBildFinns %>[/b]
<% END IF %>

</body>
</html>

<% sub subVisaIkonOmBildFinns 
IF (rs("bild_url"))<>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>
Medlem sedan juni 2005264 inlägg
#3

Mattias Nordin skrev:

Jag brukar använda mig av subbar för att designdelen ska bli smidig...

<html>
<head>
<title>Untitled</title>
</head>
<body>


<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       [b]<% call subVisaIkonOmBildFinns %>[/b] <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>




</body>
</html>


<% sub subVisaIkonOmBildFinns 
IF (rs("bild_url"))<>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>

När man gör så skriver den ut att det finns en bild på sidan man är inne på just nu.
Men hur gör man om man vill tala om att det finns en på sidan länken går till?

Medlem sedan dec. 20051 056 inlägg
#4

Jag antar att hast.asp?hast_id=<%=rs("e_id")%> e_id är id nummer på sidan som visar nästa häst?!

Prova något liknande:

<% sub subVisaIkonOmBildFinns 

sql = "SELECT bild_url FROM T_min_tabell WHERE id = rs("e_id")
set rs = connect.execute(sql)
if not rs.eof then
varNextHorsePic = rs("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>
Medlem sedan juni 2005264 inlägg
#5

Mattias Nordin skrev:

Jag antar att hast.asp?hast_id=<%=rs("e_id")%> e_id är id nummer på sidan som visar nästa häst?!

Prova något liknande:

<% sub subVisaIkonOmBildFinns 

sql = "SELECT bild_url FROM T_min_tabell WHERE id = rs("e_id")
set rs = connect.execute(sql)
if not rs.eof then
varNextHorsePic = rs("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>

Kan man ha en ny sql-sats mitt upp i alltihop?

Medlem sedan dec. 20051 056 inlägg
#6

Jo men visst kan du det. Är du inne i en annan recordset loop så räcker det med att du byter namn på det nya recordsetet så att de inte krockar med varandra.
Att ange idnummret i call-anropet är nog snyggare än tidigare förslag.


<html>
<head>
<title>Untitled</title>
</head>
<body>

<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>

</body>
</html>

<% sub subVisaIkonOmBildFinns(sNextPicId) 'sNextPicId anges där du anropar subben...

sql = "SELECT bild_url FROM T_min_tabell WHERE id = sNextPicId
set rsNextPic = connect.execute(sql)
if not rsNextPic.eof then
varNextHorsePic = rsNextPic("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>
Medlem sedan juni 2005264 inlägg
#7

Mattias Nordin skrev:

Jo men visst kan du det. Är du inne i en annan recordset loop så räcker det med att du byter namn på det nya recordsetet så att de inte krockar med varandra.
Att ange idnummret i call-anropet är nog snyggare än tidigare förslag.


<html>
<head>
<title>Untitled</title>
</head>
<body>

<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>

</body>
</html>



<% sub subVisaIkonOmBildFinns(sNextPicId) 'sNextPicId anges där du anropar subben...

sql = "SELECT bild_url FROM T_min_tabell WHERE id = sNextPicId
set rsNextPic = connect.execute(sql)
if not rsNextPic.eof then
varNextHorsePic = rsNextPic("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>

Har aldrig gjort något sådanthär innan, ska jag sätta

<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>

i cellen i tabellen där länken ska vara?

Resten då? Ska den också vara i cellen? Eller bara anges en gång och ligga utanför tabellen?

Medlem sedan dec. 20051 056 inlägg
#8

Klipp in din kod här så ska vi se :)

Gör som jag har gjort ovan. Lägg hela subben efter </html>

Designmässigt så ser nu din länk ut så här:

<table>
<tr>
<td>
<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>
</td>
</tr>
</table>

Lägg hela det blocket i en <td> om du vill.

:)

Medlem sedan juni 2005264 inlägg
#9

Blir det någon skillnad om jag vill skriva ut det hela 62 gånger med olika id-nummer? eller är det bara att lägga in

<% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>

i varje cell och bara byta id-nummer?

Här kommer en liten bit av koden, allt får inte plats ;)

 <%
IF (rs("e_id"))<>1 OR (rs("u_id"))<>2 THEN %>
  <DIV ALIGN="LEFT"> 
    <TR> 
      <TD ROWSPAN="16" WIDTH="15%"> 
       <% IF rs("e_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> </A> 
        <% ELSE %>
       <% call subVisaIkonOmBildFinns(rs("e_id")) %> 
      <A HREF="hast.asp?hast_id=<%=rs("e_id")%>"> <%=rs("e")%> </A> 
<% END IF %>

	

	

      </TD>
      <TD ROWSPAN="8" WIDTH="19%"> 
        <% IF rs("ee_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("ee_id")%>"> </A> 
        <% ELSE %>
        <A HREF="hast.asp?hast_id=<%=rs("ee_id")%>"> <%=rs("ee")%> </A> 
        <% END IF %></FONT>
        </TD>
      <TD ROWSPAN="4" WIDTH="19%"> 
        <% IF rs("eee_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("eee_id")%>"> </A> 
        <% ELSE %>
        <A HREF="hast.asp?hast_id=<%=rs("eee_id")%>"> <%=rs("eee")%> </A> 
        <% END IF %>
      </TD>
      <TD WIDTH="18%" rowspan="2"> 
        <% IF rs("eeee_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("eeee_id")%>"> </A> 
        <% ELSE %>
        <a href="hast.asp?hast_id=<%=rs("eeee_id")%>"><%=rs("eeee")%></a> 
        <% END IF %>
      </TD>
      <TD WIDTH="29%">
        <% IF rs("eeeee_id") = 1 THEN %>
        - <A HREF="hast.asp?hast_id=<%=rs("eeeee_id")%>"> </A> 
        <% ELSE %>
        <a href="hast.asp?hast_id=<%=rs("eeeee_id")%>"><%=rs("eeeee")%></a> 
        <% END IF %>
      </TD>
    </TR>

.....
</BODY>

</HTML>

<% sub subVisaIkonOmBildFinns(sNextPicId) 'sNextPicId anges där du anropar subben...

sql = "SELECT bild_url FROM hast WHERE id = sNextPicId
set rsNextPic = connect.execute(sql)
if not rsNextPic.eof then
varNextHorsePic = rsNextPic("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>

Just nu är det felmeddelande:
Unexpected end of line inside a string
/databas/hast.asp, line 961, column 64

(961= sql = "SELECT bild_url FROM hast WHERE id = sNextPicId)

Medlem sedan dec. 20051 056 inlägg
#10

Det saknas en fnutt på sql frågan. Testa:

sql = "SELECT bild_url FROM hast WHERE id = " &sNextPicId
Medlem sedan juni 2005264 inlägg
#11

Mattias Nordin skrev:

Det saknas en fnutt på sql frågan. Testa:

sql = "SELECT bild_url FROM hast WHERE id = " &sNextPicId

Object required: 'connect'
/databas/hast.asp, line 962

(set rsNextPic = connect.execute(sql))

Medlem sedan dec. 20051 056 inlägg
#12

Hur ser din connection string ut?

Jag brukar använda följande:

' Access 2003 '
Set Connect = Server.CreateObject( "Adodb.Connection" )
Connect.Provider = "Microsoft.Jet.OLEDB.4.0"
MdbFilePath = Server.MapPath( "/min_katalog/database_2003.mdb" )
Connect.ConnectionString = "Data Source='" & MdbFilePath & "'"
Connect.open

Antagligen så skiljer sig:

Set Connect = Server.CreateObject( "Adodb.Connection" )

från din connection string.

Medlem sedan juni 2005264 inlägg
#13

<%
hast_id = Request.Querystring("hast_id")

Set MinCon = Server.Createobject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
Set rsAntAvk = Server.CreateObject("ADODB.Recordset")
MinCon.Open "DRIVER={MySQL};SERVER=localhost;DATABASE=aramennoc_se;UID=aramennoc_se;PWD=XXXXXXXX;"
%>
Medlem sedan dec. 20051 056 inlägg
#14

Det går framåt ;)

Byt:

set rsNextPic = connect.execute(sql)

mot:

set rsNextPic = MinCon.execute(sql)

Nu har jag nästan inte använt mig av MySql så om det är fel får vi hoppas att någon annan säger till. Din connectionstring ser för övrigt lite konstig ut.

Medlem sedan juni 2005264 inlägg
#15

Mattias Nordin skrev:

Det går framåt ;)

Byt:

set rsNextPic = connect.execute(sql)

mot:

set rsNextPic = MinCon.execute(sql)

Nu har jag nästan inte använt mig av MySql så om det är fel får vi hoppas att någon annan säger till. Din connectionstring ser för övrigt lite konstig ut.

Error Type:
ADODB.Recordset.1 (0x80004005)
SQLState: 4 Native Error Code: 1054 [TCX][MyODBC]Unknown column 'id' in 'where clause'
/databas/hast.asp, line 962

961 sql = "SELECT bild_url FROM hast WHERE id = " &sNextPicId
962 set rsNextPic = MinCon.execute(sql)
963 if not rsNextPic.eof then
964 varNextHorsePic = rsNextPic("bild_url")
965 end if

Det är första gången jag använder MySql.

Medlem sedan juni 200032 967 inlägg
#16

Du måste se till att ändra så alla objekt-, tabell- och fältnamn stämmer överens med din miljö. Heter inte id-fältet hos dig hast_id eller något sådant?

Medlem sedan dec. 20051 056 inlägg
#17

Jag är glad att se våran trevliga Guru @nders på plats. Jag ska försöka engagera mig i att packa inför min resa till Tyskland nu.
Tittar in lite senare. :)

Medlem sedan juni 2005264 inlägg
#18

@nders skrev:

Du måste se till att ändra så alla objekt-, tabell- och fältnamn stämmer överens med din miljö. Heter inte id-fältet hos dig hast_id eller något sådant?

Jo, men tydligen gick det ju inte använda hast_id, utan måste ta det som ska vara i just den cellen, dvs som exempel e_id och sen byta för varje cell.

Den här biten har jag aldrig gjort förut:


<% sub subVisaIkonOmBildFinns(sNextPicId) 'sNextPicId anges där du anropar subben...

sql = "SELECT bild_url FROM hast WHERE id = " &sNextPicId
set rsNextPic = MinCon.execute(sql)
if not rsNextPic.eof then
varNextHorsePic = rsNextPic("bild_url")
end if

IF varNextHorsePic <>"" THEN %>
<img src="arrow.gif" border=0>
<%END IF 
end sub%>

och fattar ännu mindre än vanligt ;)

Medlem sedan dec. 20051 056 inlägg
#19

I din databas "aramennoc_se" vad har du döpt dina kolumner till? Antagligen har du inte någon kolumn som heter "id". Då behöver vi veta vad din id kolumn heter.

Medlem sedan juni 2005264 inlägg
#20

Woho!
Nu fungerar det =D
såg inte det lilla "id" som igentligen skulle vara hast_id.

265 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)