Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:03 Der er 20 kommentarer og
1 løsning

Undgå røde x på billedplads som ikke findes i DB

Jeg har en DB med billed på nogle af svarene.
Når man svarer på spørgsmål og er logget ind kommer der et billed efter navnet.
Hvis man svarer på spørgsmålet uden at være logget ind kommer der et tomt billed med rødt x.

Hvad skal man gøre/skrive for at den ikke viser det billed der ikke er der.

Her er en "vis kilde" af siden.

<li><font face=Verdana size=1><strong><a href="viewmsg.asp?Id=10886&ForumID=5&Showsub=10888">Re: Test af ny program kode.</a> <em>(J&#248;rgen, <img src='Lund.jpg'>05-07-2003 00:00)</em></strong></font></li><li><font face=Verdana size=1><strong><a href="viewmsg.asp?Id=10886&ForumID=5&Showsub=10887">Re: Test af ny program kode.</a> <em>(J&#248;rgen, <img src=''>04-07-2003 23:58)</em></strong></font></li>

Den giver <img src=''> når DB er tom
Avatar billede ahv Nybegynder
05. juli 2003 - 00:04 #1
Nu er jeg PHP-mand med problemet kunne vel løses ved at teste om der er en billede sti? Er der ikke det, skal den ikke udskrive billedet.
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:08 #2
Jep, men hvordan
Avatar billede ahv Nybegynder
05. juli 2003 - 00:08 #3
if billedesti then "udskriv img tag" else "lad vær'"

;o)
Avatar billede ahv Nybegynder
05. juli 2003 - 00:09 #4
Som sagt kan jeg ikke hjælpe dig med koden da jeg selv koder PHP, men er det så svært at tjekke om den variabel der udskriver billede indeholder noget, i PHP ville det var en simpel if sætning det samme må gælde for ASP.
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:11 #5
Problemet er at det skal sættes ind i denne linie:

        strSvar = strSvar & "<li><font face=Verdana size=1><strong><a href=""viewmsg.asp?Id=" & intMessageID & "&ForumID=" & intForumID & "&Showsub=" & rs("ID") & """>Re: " & strSubject & "</a> <em>(" & Server.HTMLEncode(rs("Name"))& ", " &"<img src='"& rs("CogT") &"'>"& rs("FormDate")  & " " & rs("FormTime") & ")</em></strong></font></li>"
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:13 #6
Du kan se hvordan det ser ud nu
http://www.ct-lund.dk/test/forum/viewmsg.asp?id=10886&ForumID=5
De to billeder der ikke er med billedet Lund skal ikke være der.
Avatar billede ahv Nybegynder
05. juli 2003 - 00:13 #7
Du kan vel blot afbryde variablen tjekke om der er en billedesti og skrive videre på variablen?
Avatar billede ahv Nybegynder
05. juli 2003 - 00:16 #8
Aner ikke om du kan få noget ud af at se et PHP eksempel ->

$strSvar = "En streng";
if ($billedesti) { //Vi tjekker om der er en billede sti
$strSvar .= "<img src='$billedesti'>";
}
// Vi har nu sat et img tag ind hvis billede stien findes og vi kan forstsætte vores variabel
$strSvar .= "sidte del af streng";

Hvis man kan lave noget lignende i ASP er tricket altså at have din variabel i tre led.
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:16 #9
Kan man bare gøre det uden at man får ballade.:-)
Avatar billede flashit Nybegynder
05. juli 2003 - 00:21 #10
som Ahy siger.

Du skal "bare" bruge din IF sætning inden du skriver din kode til siden.
Det kan du jo evt. gøre lige efter database opsalget, ved hjælp af en hjælpe variabel.

Eks:
Opret en hjælpe variabel

If hjælpe variable = ""
then hjælpe variable = "sit til et andet billede" (muligvis med redim)
else
'Variablen indeholder et billede
end if

Har ikke testet det, det var bare en tanke :-)
Avatar billede ahv Nybegynder
05. juli 2003 - 00:21 #11
flashit -> ahv :o)
Avatar billede bearhugx Nybegynder
05. juli 2003 - 00:21 #12
jpj3 >>
Ja
Du kan bare skrive
  strSvar = strSvar & "<li><font face=Verdana size=1><strong><a href=""viewmsg.asp?Id=" & intMessageID & "&ForumID=" & intForumID & "&Showsub=" & rs("ID") & """>Re: " & strSubject & "</a> <em>(" & Server.HTMLEncode(rs("Name"))& ", "

//PSEUDOKODE
If (billede-sti-findes) {
  strVar = strVar & "<img src='"& rs("CogT") &"'>";
}

strVar = strVar & rs("FormDate")  & " " & rs("FormTime") & ")</em></strong></font></li>"
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:22 #13
Klarede det på en anden måde.
Dette er den måde der kommer billed i DB
<% if admin = ja then %><input type="hidden" name="CogT" value= "Lund.jpg">
<% end if %>
Det lavede jeg om til dette.

<% if admin = ja then %><input type="hidden" name="CogT" value= "Lund.jpg">
            <%else%>
            <input type="hidden" name="CogT" value= "Tom.jpg">
            <% end if %>

Så kører det igen
Avatar billede bearhugx Nybegynder
05. juli 2003 - 00:24 #14
aha - så du kunne ikke bruge nogle af de svar som er givet ??
Avatar billede flashit Nybegynder
05. juli 2003 - 00:27 #15
Det er da også det som bliver sagt......
:-(

og hvorfor havde du en if hvis du ikke brugte den til noget ???
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:27 #16
Nej jeg bruger billedet to gange på samme side, de svar der er givet, giver ikke txt i DB.
Jeg kan senere bruge txt i DB til at vise at det er en bruger og ikke en [Admin] der har skrevet indlægget.
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:28 #17
flashit...

En if hvor??
Avatar billede ahv Nybegynder
05. juli 2003 - 00:29 #18
Så var det jo den forkerte kode du viste os til at starte med :o)
Avatar billede flashit Nybegynder
05. juli 2003 - 00:30 #19
<% if admin = ja then %><input type="hidden" name="CogT" value= "Lund.jpg">
<% end if %>

Men nok om det. Det vigtigste er da at problemet blev løst :-)
Avatar billede jpj3 Nybegynder
05. juli 2003 - 00:30 #20
Nej det er den kode der viser billederne som gav fejl, Det viste sig at være lettere at skrive det i DB istedet for at chekke om DB er tom
Avatar billede c Nybegynder
05. juli 2003 - 17:19 #21
du kunne også bare udskrive
<%
if (rs("billede")<>"") then
  response.write("<img src='"& rs("billede") &"'>")
end if

mvh
Christian
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