Avatar billede ponyboye Nybegynder
18. august 2004 - 00:23 Der er 26 kommentarer og
1 løsning

udskriv KUN felter med data

jeg denne kode og vil gerne have en ide om hvordan jeg får den til at kigge om der er noget i de kaldte felter før det udskriver titel og database indhold, sådanne at hvis der ikke er noget i databasen udskriver den ikke titel og indhold for det felt, men hopper til næste og udskriver så først titel og dataer når der er noget i feltet.


<%
OpenDatabase

myid = Request("tempKey")
If (myid = "" Or Not IsNumeric(myid)) Then
id = 0
End If
strSQL = "Select * From keywords Where kw_ID = "&Request.Querystring("id")&""
Set rs = Conn.Execute(strSQL)

if rs.EOF then

  ' her skriver du det...
  response.write "Der er ikke nogen beskrivelse for denne vare."

  else
 
  Response.Write "<strong><h3>" & rs ("kw_word") & "</h3></strong><br>"
  Response.Write "<strong>Type:</strong>&nbsp;<br><br>" & rs ("kw_type") & "<br><br>"
  Response.Write "<strong>Beskrivelse:</strong>&nbsp;<br><br>" & rs ("kw_beskrivelse") & "<br><br>"
  Response.Write "<strong>Smag:</strong>&nbsp;<br><br>" & rs ("kw_smag") & "<br><br>"
  Response.Write "<strong>Anvendelse:</strong>&nbsp;<br><br>" & rs ("kw_anvendelse") & "<br><br>"   
    end if
 
 
%>
Avatar billede eagleeye Praktikant
18. august 2004 - 00:28 #1
Typsik vil en tom kolonne hvade værdien Null som ikke er det samme som "" men man kan lave en if sætning som denne if

if len("" & rs("kolonnenavn"))>0 then Response.Write "<strong>XXX:</strong>&nbsp;<br><br>" & rs ("kolonnenavn") & "<br><br>"
Avatar billede ponyboye Nybegynder
18. august 2004 - 00:41 #2
okay prøver det lige
Avatar billede ponyboye Nybegynder
18. august 2004 - 00:45 #3
hvordan forsætter man så til næste punkt?

er det:

if len("" & rs("kolonnenavn"))>0 then Response.Write "<strong>XXX:</strong>&nbsp;<br><br>" & rs ("kolonnenavn") & "<br><br>"

if len("" & rs("kolonnenavn"))>0 then Response.Write "<strong>XXX:</strong>&nbsp;<br><br>" & rs ("kolonnenavn") & "<br><br>"
Avatar billede eagleeye Praktikant
18. august 2004 - 00:48 #4
Ja du kan tilføje if sætningen foran dem alle, hvis jeg har forstået sprøgsmålet rigtig :)

Eks disse linjer:

  Response.Write "<strong><h3>" & rs ("kw_word") & "</h3></strong><br>"
  Response.Write "<strong>Type:</strong>&nbsp;<br><br>" & rs ("kw_type") & "<br><br>"
  Response.Write "<strong>Beskrivelse:</strong>&nbsp;<br><br>" & rs ("kw_beskrivelse") & "<br><br>"


Blvier til:

  if len("" & rs("kw_word"))>0 then Response.Write "<strong><h3>" & rs ("kw_word") & "</h3></strong><br>"
  if len("" & rs("kw_type"))>0 then Response.Write "<strong>Type:</strong>&nbsp;<br><br>" & rs ("kw_type") & "<br><br>"
  if len("" & rs("kw_beskrivelse"))>0 then Response.Write "<strong>Beskrivelse:</strong>&nbsp;<br><br>" & rs ("kw_beskrivelse") & "<br><br>"
Avatar billede eagleeye Praktikant
18. august 2004 - 00:51 #5
Jeg bliver nød til at smutter for i aften.
Avatar billede ponyboye Nybegynder
18. august 2004 - 01:13 #6
den udskriver kun overskriften og ikke det i databasen
Avatar billede eagleeye Praktikant
18. august 2004 - 12:27 #7
Så må du prøve at udbyde hvad du ønsker, for så jeg ikke helt med.
Avatar billede ponyboye Nybegynder
18. august 2004 - 13:21 #8
det jeg vil med dette er at jeg har nogle vare beskrivelser og der til nogle titeler. Der er ikke alle titeler der vil være brugfor da der muligvis ikke er nogen historie for bananer og så vil der ikke være brugfor at den udskriver titelen historie da der ikke er nogen historie for bananer.

Hvis der ikke er nogen historie for bananer vil dette felt stå tomt.
Så er det at jeg vil have at koden går ind og ser om feltet bananer er tomt, hvis dette er tomt så skal den undlade at udskrive tetelen historie.

Men hvis der er indhold i feltet skal den udskrive titelen historie samt indeholdet i feltet.

Sådanne skal den tjekke alle felter (ca 10 stk) til der ikke er flere og så kun udskrive de felter der er indhold i
Avatar billede ponyboye Nybegynder
18. august 2004 - 23:57 #9
forstår du min beskrivelse?
Avatar billede eagleeye Praktikant
19. august 2004 - 00:03 #10
Det tror jeg ikke.

I det kode du har vist kan jeg se du udsrkiver:  Beskrivelse
men jeg kan ikke se title og historie er det også et par kolonner i din tabel?

Hvis de er så er det måske dette du skal til føje:

  if len("" & rs("title"))>0 then
    Response.Write "<strong>Title:</strong>&nbsp;<br><br>" & rs ("title") & "<br><br>"
    Response.Write "<strong>Historie:</strong>&nbsp;<br><br>" & rs ("Historie") & "<br><br>"
  end if
Avatar billede ponyboye Nybegynder
19. august 2004 - 00:36 #11
Dette er hvad jeg udskriver:

Response.Write "<strong>Beskrivelse:</strong>&nbsp;<br><br>" & rs ("kw_beskrivelse") & "<br><br>"

"Beskrivelse:" er titelen og denne udskrives ikke fra databasen.
"kw_beskrivelse" er teksten til beskrivelsen og denne lægger i databasen.

Nu er det så det ikke altid at der er nogen beskrivelse og så vil feltet "kw_beskrivelse" stå tomt.

Så er det at jeg gerne vil have noget kode der kigger i databasen om "kw_beskrivelse" er tom. Hvis dette felt er tomt skal den ikke udskrive noget, men bare hoppe til næste felt i tabellen.

Så er det at jeg gerne vil have at den kigger i feltet "kw_beskrivelse" før den udskriver noget som helst og hvis der er noget skal den udskrive titel og "kw_beskrivelse". Hvis feltet der imod er tomt, så skal den ikke gøre noget, men bare hoppe til næste felt og tjekke det.
Avatar billede ponyboye Nybegynder
19. august 2004 - 22:48 #12
denne her virker godt nok, men jeg kan bare ikke forstå at den ikke vil udskrive det i databasen.

if len("" & rs("kolonnenavn"))>0 then Response.Write "<strong>XXX:</strong>&nbsp;<br><br>" & rs ("kolonnenavn") & "<br><br>"
Avatar billede ponyboye Nybegynder
19. august 2004 - 22:48 #13
og med denne er det lige det samme.

if len("" & rs("title"))>0 then
    Response.Write "<strong>Title:</strong>&nbsp;<br><br>" & rs ("title") & "<br><br>"
    Response.Write "<strong>Historie:</strong>&nbsp;<br><br>" & rs ("Historie") & "<br><br>"
  end if
Avatar billede ponyboye Nybegynder
19. august 2004 - 22:50 #14
henter bare ikke title fra databasen og indsætte dette.

Response.Write "<strong>MinTitle:</strong>&nbsp;<br><br>"
Avatar billede eagleeye Praktikant
19. august 2004 - 22:50 #15
Skriver den slet ikke noget ud??  Så prøv:
title=rs("title")
if len("" & title)>0 then
    Response.Write "<strong>Title:</strong>&nbsp;<br><br>" & title & "<br><br>"
    Response.Write "<strong>Historie:</strong>&nbsp;<br><br>" & rs ("Historie") & "<br><br>"
  end if
Avatar billede ponyboye Nybegynder
19. august 2004 - 22:52 #16
jo det udskriver titeken.
Avatar billede eagleeye Praktikant
19. august 2004 - 22:55 #17
men ikke historie?
Avatar billede ponyboye Nybegynder
19. august 2004 - 22:57 #18
titelen skal bare være et stykke tekst. Det felt den skal tjekke er de der stå kw_ et eller andet
Avatar billede eagleeye Praktikant
19. august 2004 - 23:02 #19
Ok så den skal tjekke kolonnen "kw_historie" om den er tom hvis den ikke er tom udsrives "min title" samt indholdet af kolonnen "kw_histore"?
Avatar billede ponyboye Nybegynder
19. august 2004 - 23:03 #20
Dette er koden jeg har indsat. Lige viser den igen ting om der er noget i feltet kw_smag eller ej

Response.Write "<strong><h3>" & rs ("kw_word") & "</h3></strong><br>"
  Response.Write "<strong>Type:</strong>&nbsp;<br><br>" & rs ("kw_type") & "<br><br>"
  Response.Write "<strong>Beskrivelse:</strong>&nbsp;<br><br>" & rs ("kw_beskrivelse") & "<br><br>"
  title=rs("kw_smag")
if len("" & kw_smag)>0 then
    Response.Write "<strong>Smag:</strong>&nbsp;<br><br>" & rs ("kw_smag") & "<br><br>"
    end if
  Response.Write "<strong>Anvendelse:</strong>&nbsp;<br><br>" & rs ("kw_anvendelse") & "<br><br>"   
    end if
Avatar billede eagleeye Praktikant
19. august 2004 - 23:04 #21
prøv at rette denne linje
title=rs("kw_smag")

til:
kw_smag=rs("kw_smag")
Avatar billede ponyboye Nybegynder
19. august 2004 - 23:10 #22
Avatar billede eagleeye Praktikant
19. august 2004 - 23:12 #23
Prøv også at rette:

Response.Write "<strong>Smag:</strong>&nbsp;<br><br>" & rs ("kw_smag") & "<br><br>"

Til:

Response.Write "<strong>Smag:</strong>&nbsp;<br><br>" & kw_smag & "<br><br>"
Avatar billede ponyboye Nybegynder
19. august 2004 - 23:14 #24
hold da op, det virker nu. Hvad var det der kig galt?
Avatar billede eagleeye Praktikant
19. august 2004 - 23:16 #25
Det sker nogle gange at man kun kan hente data fra en kolonne i et recordset en gang. Så derfor er man nød til at ligge indholdet fra kolonnen, over i en varialbe som her:
kw_smag=rs("kw_smag")
og så bruge variablen i stedet for recordsetet.
Avatar billede ponyboye Nybegynder
19. august 2004 - 23:19 #26
dejligt det virker nu. Undskyld og jeg har været besværlig og det har været dejligt at du har været tonmodig med mig.

Læg et svar, du har virkelig fortjent de point
Avatar billede eagleeye Praktikant
19. august 2004 - 23:22 #27
Ok :)
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