Avatar billede sesam Nybegynder
11. maj 2001 - 14:11 Der er 9 kommentarer og
1 løsning

kontrolere output

Jeg har 500 forskellige produkter som skal stå i en oversigt. Hvordan udskriver jeg dem til min side i alfabetisk rækkefølge opdelingen af oversigten skal være som følger.

celle 1 celle 2 celle 3 celle 4
  a        b      c      d
  e        f      g      h


osv...
Avatar billede madd Nybegynder
11. maj 2001 - 15:02 #1
Henter du dem fra en db ?
Avatar billede sbm Nybegynder
11. maj 2001 - 15:19 #2
Du sorterer dem i din SELECT statement:

SQL = \"SELECT * FROM PRODUKTER ORDER BY VARENAVN\"

Derefter er det blot at udskrive dem i en tabel:

dim kolonne=1
while not RS.eof
  \' Hvis vi skal starte på en ny række:
  if kolonne=1 then
    response.write \"<tr>\\n\"
  end if

  response.write \"<td>\" & RS(\"VARENAVN\") & \"</td>\"

  \' hvis vi har skrevet fire kolonner, skal rækken lukkes.
  if kolonne=4 then
    response.write \"</tr>\\n\"
    kolonne=0
  end if

  kolonne=kolonne+1
  RS.movenext
loop

\' Vi skal lige sørge for at lukke den sidste række.
if kolonne > 1 then
  response.write \"</tr>\\n\"
end if

Jeg håber det kan bruges. Ellers må du uddybe din forklaring.
Avatar billede sbm Nybegynder
11. maj 2001 - 15:24 #3
Det er forhåbentlig unødvendigt at gøre opmærksom på at du skal starte din <TABLE> inden du kommer til WHILE NOT RS.EOF og lukke den umiddelbart efter den sidste END IF

:-)
Avatar billede sesam Nybegynder
11. maj 2001 - 16:49 #4
Ja jeg henter dem i en database
Avatar billede sesam Nybegynder
11. maj 2001 - 17:19 #5
Min kode ser sådan ud. Problemet er at linksne bliver skrevet ud i en lang række. Jeg vil gerne kunne kontrolere outputtet.

Dvs sådan her:

<table>
<tr>
<td>Varer med A</td>
<td>Varer med B</td>
<td>Varer med C</td>
osv...
</tr>
</table>


<html>
<head>
<title></title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
</head>

<body bgcolor=\"#FFFFFF\" text=\"#000000\" leftmargin=\"0\" topmargin=\"0\" marginwidth=\"0\" marginheight=\"0\">
<table width=\"765\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
  <tr>
    <td colspan=\"3\"><img src=\"images/eptop.gif\" width=\"765\" height=\"52\"></td>
  </tr>
  <tr>
    <td width=\"132\" valign=\"top\"><img src=\"images/epvenstremenu.gif\" width=\"132\" height=\"265\" border=\"0\" alt=\"\"></td>
    <td width=\"5\">&nbsp;</td>
    <td width=\"5\">
      <table width=\"600\" border=\"0\">
        <tr>
          <td><font size=1 face=Verdana, Arial, Helvetica, sans-serif>Produkter:
<%
Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"varer.mdb\")
Conn.Open DSN
strSQL = \"Select * From prisliste Order by varenr ASC\"
Set rs = Conn.Execute(strSQL)
Do
  strNavn = rs(\"varenr\")
  strLink = \"<font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=\'test6.asp?id=\" & rs(\"varenr\") & \"\'>\" & strNavn & \"</a>\"
  Response.Write \"<li>\" & strLink & \"</li>\" 
Response.Write \"<font size=1 face=Verdana, Arial, Helvetica, sans-serif>&nbsp;\" & rs(\"Beskrivelse\") & \"\"
  rs.MoveNext
Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%> </td>
          </tr>
      </table>
    </td>
  </tr>
</table>

</body>
</html>
Avatar billede ricardo Nybegynder
11. maj 2001 - 20:46 #6
Bruge modulus-functionen \'mod\':

Set Conn = Server.CreateObject(\"ADODB.Connection\")
DSN = \"DRIVER={Microsoft Access Driver (*.mdb)}; \"
DSN = DSN & \"DBQ=\" & Server.MapPath (\"varer.mdb\")
Conn.Open DSN
strSQL = \"Select * From prisliste Order by varenr ASC\"
Set rs = Conn.Execute(strSQL)
While Not rs.EOF
counter = counter + 1
strNavn = rs(\"varenr\")
    Response.Write  \"<font size=1 face=Verdana, Arial, Helvetica, sans-serif><a href=\'test6.asp?id=\" & strNavn & \"\'>\" & strNavn & \"</a>\"
    Response.Write \"<font size=1 face=Verdana, Arial, Helvetica, sans-serif>&nbsp;\" & rs(\"Beskrivelse\") & \"\"
    if counter mod 4 = 0 then
    Response.Write \"<p>\"
    end if
rs.MoveNext
wend

Conn.Close
Set Conn = Nothing
Avatar billede ricardo Nybegynder
11. maj 2001 - 22:39 #7
Brug modulus (en klassisk teknik i denne type situation) - men det opdager du først efter du har fedtet rundt med det andet...
Avatar billede sbm Nybegynder
11. maj 2001 - 23:54 #8
Tak for point. :-)

Jeg beklager jeg ikke var hjemme resten af dagen så jeg kunne følge op...

Jeg kan forstå at du ikke bryder dig om den resulterende html-kode? Du vil gerne have at det \"står ordentligt\"?

Hvis du tilføjer en \\n efter hver </td> får du automatisk linieskift.
Avatar billede ricardo Nybegynder
12. maj 2001 - 15:34 #9
- kun hvis du bruger Jscript/Javascript.

Ellers hedder det  & VbCrLf
Avatar billede sbm Nybegynder
13. maj 2001 - 00:28 #10
ricardo : Øøøh? Kategorien er ASP, og mig bekendt er \\n i ASP / VBScript da også linieskift...?
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