Avatar billede annettef Nybegynder
20. december 2004 - 14:58 Der er 10 kommentarer og
1 løsning

Problemer med if sætning - hjælp?

Hej

Jeg har lidt problemer med en if sætning som ikke vil som jeg vil. Mit problem er følgende: Jeg henter en række billeder ud af en database det vil sige stien til billederne, men hvis der ikke er et billede (en sti) i et bestemt felt i databasen, skal der på siden bare udskrives teksten 'intet foto' i stedet for.

Dette problem har jeg så forsøgt at løse via en if sætning, men det fungerer bare ikke. Selvom feltet er tomt bliver der bare udskrevet et rødt kryds på siden (da der jo ikke er noget billede i databasen).

Udsnit af min kode
---------
<tr><td>
  <!-- Formular til at vælge foto4 -->
<form method="POST" action="nyt_billede2d.asp?vareID=<%=rs1("vareid")%>" name="nytfoto4">
    <table width="475" border="0" cellspacing="0" cellpadding="0" align="left">
    <tr valign="top">
      <td width="110">Foto4 (Tilbud) </td>
      <td width="290" align="center">
      <%
      if rs1("fotoTilbud") = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("fotoTilbud") & """ border='0' width='240' height='50'>"
      end if
      %>
      </td>
      <td width="75"><input name="Submit4" type="submit" id="Submit4" value="V&aelig;lg nyt foto"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><hr></td>
      </tr>
    </table>
  </form>
--------

Håber der er nogen der kan hjælpe mig.

/Annette
Avatar billede dan_n Nybegynder
20. december 2004 - 15:02 #1
prøv med Len

if Len( rs1("fotoTilbud") ) <= 0
Avatar billede annettef Nybegynder
20. december 2004 - 15:05 #2
giver stadig bare et rødt kryds...
Avatar billede ranglen Nybegynder
20. december 2004 - 15:05 #3
Du kan tage højde både for en tom streng og null ved at klistre en tom streng på:

if rs1("fotoTilbud")&"" = "" then
Avatar billede dan_n Nybegynder
20. december 2004 - 15:07 #4
prøv at højre klikke på det røde kryds og vælg egenskaber

Hvilke sti referes der til ?
Avatar billede annettef Nybegynder
20. december 2004 - 15:07 #5
Jep, det løste mit problem - tusind tak for hjælpen

Lægger du lige et svar Ranglen, så du kan få point!

/Annette
Avatar billede dan_n Nybegynder
20. december 2004 - 15:08 #6
eller også.

if NOT rs1("fotoTilbud") = "" then
  Response.Write "<img src=""" & rs1("fotoTilbud") & """ border='0' width='240' height='50'>"
else
  response.Write "Intet foto"


end if
Avatar billede tondering Nybegynder
20. december 2004 - 15:11 #7
Prøv istedet at oprette et foto der hedder ingenfoto.gif
Avatar billede annettef Nybegynder
20. december 2004 - 15:11 #8
Til Dan_n

Har lige prøvet din løsning også og den fungerer også, men ranglen kom først med en brugbar løsning så ranglen får pointene - håber det er ok!

/Annette
Avatar billede annettef Nybegynder
20. december 2004 - 15:34 #9
Der var jeg vist lidt for hurtig....

Hvis jeg nu sætter følgende if sætning ind på min side hvor jeg har 4 foto, så kommer der et rødt kryds ved de tre første foto selvom der er et foto i databasen, men ved det sidste foto kommer der ingen fejl.
-------- If sætning
<%
      if rs1("fotoTilbud")&"" = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("fotoTilbud") & """ border='0' width='220' height='50'>"
      end if
      %>
---------

Hele koden til min side
--------
<%
Dim rs1, rs2, rs3, rs4, intVareId
%>
<%
response.buffer = true

intVareId = request.form("vare2")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & server.MapPath("shop1.mdb")

SQLstmt = "SELECT * FROM vare WHERE vareid = " & intVareID

Conn.Execute (SQLstmt)

Set rs = conn.Execute(SQLstmt)

  %>


<html>
<head>
<title>Rediger vare trin 3</title>
<Link Rel="stylesheet" href="datronic.css" Type="text/css" >

<!-- JavaScript funktion til omdanne tekst links til knappe links -->
<style type="text/css">
<!--
.style1 {color: #FFFFFF}
.style2 {color: #FF0000}
body {
    margin-left: 4px;
    margin-top: 0px;
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
<br>
<table width="490" boeder="0" align="left"><!--hovedtabel start-->
<tr>
<td height="18" valign="middle" bgcolor="#545DB9"><span class="style1">Upload et nyt foto </span></td>
</tr>
<tr>
<td colspan="2"><div align="center"><span class="style2"><br>
        Vigtigt! - Du skal v&aelig;lge hvilket foto du vil uploade et nyt af! </span><br>
</div></td></tr>
<tr><td>
<!-- Formular til at vælge foto -->
<%
intVareId = request.form("vare2")
' SQL forespørgsel
strSQL = "Select * From vare Where vareid =" & IntVareID

' Udfør strSQL (rs kommer til at indeholde dataen)
Set rs1 = Conn.Execute(strSQL)
%>
<form method="POST" action="nyt_billede2a.asp?vareID=<%=rs("vareid")%>" name="nytfoto1">
    <table width="475" border="0" cellspacing="0" cellpadding="0" align="left">
    <tr valign="top">
      <td width="110">Foto1 (Oversigt) </td>
      <td width="290" align="center">
            <%
      if rs1("foto1")&"" = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("foto1") & """ border='0' width='100' height='50'>"
      end if
      %>
      </td>
      <td width="75"><input name="Submit1" type="submit" id="Submit1" value="V&aelig;lg nyt foto"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><hr></td>
      </tr>

    </table>
  </form></td></tr>
  <tr><td>
  <!-- Formular til at vælge foto2 -->
<form method="POST" action="nyt_billede2b.asp?vareID=<%=rs("vareid")%>" name="nytfoto2">
    <table width="475" border="0" cellspacing="0" cellpadding="0" align="left">
    <tr valign="top">
      <td width="110">Foto2 (Varespecifikation) </td>
      <td width="290" align="center">
          <%
      if rs1("foto2")&"" = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("foto2") & """ border='0' width='100' height='50'>"
      end if
      %>
      </td>
      <td width="75"><input name="Submit2" type="submit" id="Submit2" value="V&aelig;lg nyt foto"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><hr></td>
      </tr>

    </table>
  </form>
  </td></tr>
  <tr><td>
  <!-- Formular til at vælge foto3 -->
<form method="POST" action="nyt_billede2c.asp?vareID=<%=rs("vareid")%>" name="nytfoto3">
    <table width="475" border="0" cellspacing="0" cellpadding="0" align="left">
    <tr valign="top">
      <td width="110">Foto3 (Varespecifikation) </td>
      <td width="290" align="center">
      <%
      if rs1("foto3")&"" = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("foto3") & """ border='0' width='100' height='50'>"
      end if
      %>
      </td>
      <td width="75"><input name="Submit3" type="submit" id="Submit3" value="V&aelig;lg nyt foto"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><hr></td>
      </tr>

    </table>
  </form>
  </td></tr>
  <tr><td>
  <!-- Formular til at vælge foto4 -->
<form method="POST" action="nyt_billede2d.asp?vareID=<%=rs("vareid")%>" name="nytfoto4">
    <table width="475" border="0" cellspacing="0" cellpadding="0" align="left">
    <tr valign="top">
      <td width="110">Foto4 (Tilbud) </td>
      <td width="290" align="center">
      <%
      if rs1("fotoTilbud")&"" = "" then
      response.Write "Intet foto"
      else     
      Response.Write "<img src=""" & rs1("fotoTilbud") & """ border='0' width='220' height='50'>"
      end if
      %>
      </td>
      <td width="75"><input name="Submit4" type="submit" id="Submit4" value="V&aelig;lg nyt foto"></td>
    </tr>
    <tr>
      <td colspan="3" valign="top"><hr></td>
      </tr>
    </table>
  </form>
  </td></tr>
  <tr><td><hr></td></tr>
  <tr><td>
    <input type="button" value="Tilbage til  kategorioversigt" name="Annuller" onClick="java script:location.href='rediger_vare1.asp'"></td>
    </td></tr>
    <%conn.Close
Set conn = nothing
Set SQLstmt = nothing
    %>
  </table>
  <p>&nbsp;</p>
</td></tr>
</table>
</body>
</html>
--------

Hvad er det der går galt?
Avatar billede annettef Nybegynder
23. december 2004 - 14:04 #10
Ranglen vil du lægge et svar, så jeg kan få lukket spørgsmålet?

/Annette
Avatar billede annettef Nybegynder
29. december 2004 - 14:40 #11
Lukker spørgsmålet - Ranglen hvis du vil have pointene alligevel, må du lige skrive en kommentar, så jeg kan lavet et nyt spørgsmål med point til dig.

/Annette
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