Avatar billede foralias Praktikant
06. marts 2006 - 13:53 Der er 5 kommentarer og
1 løsning

Hvis billede ikke eksistere erstat med andet.

Hej Jeg har et lille script, hvor den henter fornavn efternavn mobil nummer og initialer i databasen og viser dem på en side.
Den går samtidig ned og henter et billede i image/lager mappen og viser det samtidig.
Kan det lade sig gøre at vise et default billede, hvis dette ikke eksistere i mappen?


Sådan ser scriptet ud:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="../Connections/telefon.asp" -->
<%
Dim lager
Dim lager_numRows

Set lager = Server.CreateObject("ADODB.Recordset")
lager.ActiveConnection = MM_telefon_STRING
lager.Source = "SELECT *  FROM Lager Order by fornavn"
lager.CursorType = 0
lager.CursorLocation = 2
lager.LockType = 1
lager.Open()

lager_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
lager_numRows = lager_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
.style4 {font-size: x-small}
.style6 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: medium; font-weight: bold; }
.style8 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: small; }
.style13 {font-size: small}
-->
</style>
</head>

<body bgcolor="silver">
<table border="0">
  <tr>
    <td width="425" bgcolor="#CC0000"><div align="center"><span class="style6">Telefonliste
          Lageret </span></div></td>
  </tr>
</table>
<%
While ((Repeat1__numRows <> 0) AND (NOT lager.EOF))
%>
  <table border="0" cellspacing="3">
    <tr>
      <td width="25" rowspan="3"><span class="style13"></span></td>
      <td width="100" rowspan="3" bgcolor="#FFFFFF"><span class="style13"><a href="../images/lager/<%=(lager.Fields.Item("Initialer").Value)%>.JPG" target="_blank"><img src="../images/lager/<%=(lager.Fields.Item("Initialer").Value)%>.JPG" width="100" height="75" /></a></span></td>
      <td width="75" rowspan="3" bgcolor="#FFFFFF">&nbsp;</td>
      <td width="100" height="25" bgcolor="#FFFFFF"><span class="style8"><%=(lager.Fields.Item("Fornavn").Value)%></span></td>
      <td width="125" rowspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td height="25" bgcolor="#FFFFFF"><span class="style8"><%=(lager.Fields.Item("Efternavn").Value)%></span></td>
    </tr>
    <tr>
      <td height="25" bgcolor="#FFFFFF"><span class="style8"><%=(lager.Fields.Item("Mobil").Value)%></span></td>
    </tr>
  </table>
  <%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  lager.MoveNext()
Wend
%>
<p>&nbsp;</p>
</body>
</html>
<%
lager.Close()
Set lager = Nothing
%>
Avatar billede foralias Praktikant
06. marts 2006 - 13:57 #1
Ja det var lidt åndssvagt formuleret det sidste, lige inden scriptet, SORRY!!!
Jeg prøver lige igen:

Hvis billedet ikke eksistere vises jo så bare det velkendte røde kryds, kan det lade sig gøre at erstatte det med et default.jpg i stedet for?

Håber i forstår :-)
Avatar billede eagleeye Praktikant
06. marts 2006 - 14:00 #2
ja det kræve FileSystemObject:

Prøv at tilføjde denne linie før Set lager = Server....:

Set fso = Server.CreateObject("scripting.filesystem")

og så rette disse linier:

      <td width="100" rowspan="3" bgcolor="#FFFFFF"><span class="style13"><a href="../images/lager/<%=(lager.Fields.Item("Initialer").Value)%>.JPG" target="_blank"><img src="../images/lager/<%=(lager.Fields.Item("Initialer").Value)%>.JPG" width="100" height="75" /></a></span></td>


Til dette:

      <td width="100" rowspan="3" bgcolor="#FFFFFF"><span class="style13">
<%
  strBillede = "../images/lager/" & lager.Fields.Item("Initialer").Value & ".JPG"
  if fso.FileExists(server.mappath(strBillede))=false Then
    strBillede = "../images/lager/default.jpg"
  end if
%>
<a href="<%=strBillede%>" target="_blank"><img src="<%=strBillede%>" width="100" height="75" /></a></span></td>
Avatar billede eagleeye Praktikant
06. marts 2006 - 14:03 #3
Som du kan se af koden er koden lavet sådan at default.jpg ligger i samme folder som de andre billeder. Hvis det ikke er rigtigt skal stien lige rettes til.
Avatar billede foralias Praktikant
06. marts 2006 - 14:18 #4
Hej eagle, desværre kommer der denne meddelelse:

Server object error 'ASP 0177 : 800401f3'

Server.CreateObject Failed

/Telefoner/lager.asp, line 7

Invalid ProgID. For additional information specific to this message please visit the Microsoft Online Support site located at: http://www.microsoft.com/contentredirect.asp.
Avatar billede eagleeye Praktikant
06. marts 2006 - 14:28 #5
arh min fejl prøv lige at rette linien:

Set fso = Server.CreateObject("scripting.filesystem")

Til denne:

Set fso = Server.CreateObject("scripting.FileSystemObject")
Avatar billede foralias Praktikant
06. marts 2006 - 14:35 #6
Du er min helt! Vi siger tak forhjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester