Avatar billede jtc Nybegynder
12. juli 2003 - 19:44 Der er 17 kommentarer og
2 løsninger

Simpelt: Udtræk i 2 kolonner

Hej er der nogen der kan sige mig hvordan jeg udtrækker følgende i 2 eller flere kolonner

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/db/billeder.mdb")
strSQL = "Select * From Images"
Set RS = Conn.Execute(strSQL)

countSQL = "Select Count(ID) As Count From Images"
RS2 = Conn.Execute(countSQL)
%>
<% Do While Not rs.EOF %>

<table border="0" cellpadding="0" cellspacing="4" width="40%" bgcolor="#999966">
    <tr>
        <td rowspan="3" width="25%">
        <A HREF="java script:displayWindow('gallerishowimg.asp?id=<%=RS("ID")%>',<%=RS("Width")%>,<%=RS("Height")%>)">
        <img src="../pic/ungdom/galleri/<%=RS("Images")%>.<%=RS("Filtype")%>" height=100 width=169 border=0></a></td>
        <td width="75%"><font size="1" face="Tahoma">Filtype: <strong><%= RS("Filtype")%></strong></font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Højde: <strong><%= RS("Height")%></strong> pixel, Bredde: <strong><%= RS("Width")%></strong> pixel</font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Beskrivelse: <strong><%= RS("Description")%></strong> </font></td>
    </tr>
</table>

<%
RS.MoveNext
Loop
%>
Avatar billede nmh Nybegynder
12. juli 2003 - 19:49 #1
Jeg rener med du vil være tilfreds med en udskrift i dette format:
1  2
3  4
5  6
Jeg kommer med et forslag lige straks
Avatar billede jtc Nybegynder
12. juli 2003 - 19:50 #2
Hej igen nhm du hjalp mig med noget lignende for et par dage siden
men jeg vil helst have
1 4
2 5
3 6
Avatar billede nmh Nybegynder
12. juli 2003 - 19:53 #3
Er der igen kun ca. 100 poster?
Avatar billede jtc Nybegynder
12. juli 2003 - 19:55 #4
ja
jeg skal løbe nu men ser på dit forslag i morgen
Avatar billede hossein Nybegynder
12. juli 2003 - 19:55 #5
Sådan er princippet, ret og tilpas til din egen:
<%
...

LinkCount = 0
Do Until rs.EOF

If LinkCount Mod 4 = 0 Then 'skift nummer til det antal som du vil
    If LinkCount <> 0 Then Response.Write"</tr>"
            Response.Write "<tr><td><img width=100 src=images/" & RS("filename") & "></td>"
    Else
            Response.Write "<td><img width=100 src=images/" & RS("filename") & "></td>"

    End If
    LinkCount = LinkCount + 1
    rs.MoveNext
Loop
...
%>
Avatar billede nmh Nybegynder
12. juli 2003 - 20:17 #6
Inden jeg kommer med det endelige forslag, så se lige, hvordan det kommer til at se ud i det format, jeg først foreslog. Hvis du synes, det ser godt nok ud, laver jeg det i det format du ønsker.
Det er jo noget med billeder, og nu laver jeg en tabel uden om det hele med to søjler. Det ser måske ikke godt nok ud.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/db/billeder.mdb")
strSQL = "Select * From Images"
Set RS = Conn.Execute(strSQL)

countSQL = "Select Count(ID) As Count From Images"
RS2 = Conn.Execute(countSQL)
%>
<table>
<tr>
<%skift=false%>
<% Do While Not rs.EOF %>
<td>
<table border="0" cellpadding="0" cellspacing="4" width="40%" bgcolor="#999966">
    <tr>
        <td rowspan="3" width="25%">
        <A HREF="java script:displayWindow('gallerishowimg.asp?id=<%=RS("ID")%>',<%=RS("Width")%>,<%=RS("Height")%>)">
        <img src="../pic/ungdom/galleri/<%=RS("Images")%>.<%=RS("Filtype")%>" height=100 width=169 border=0></a></td>
        <td width="75%"><font size="1" face="Tahoma">Filtype: <strong><%= RS("Filtype")%></strong></font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Højde: <strong><%= RS("Height")%></strong> pixel, Bredde: <strong><%= RS("Width")%></strong> pixel</font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Beskrivelse: <strong><%= RS("Description")%></strong> </font></td>
    </tr>
</table>
</td>
<%
if skift then response.write("</tr><tr>")
skift=not skift
RS.MoveNext
Loop
%>
</tr>
<table>
Avatar billede nmh Nybegynder
12. juli 2003 - 20:18 #7
rettelse: det sidste <table> skal være </table>
Avatar billede jtc Nybegynder
12. juli 2003 - 23:35 #8
nmh>>>> Dit forslag fungere som godt nok men formatet er forkert
Det skal være
1 4
2 5
3 6
Så hvis du kan lave det sådan vil jeg være glad
Avatar billede eagleeye Praktikant
13. juli 2003 - 01:38 #9
Det er lavet sådan som du har skrevet i 12/07-2003 23:35:52 du kan putte flere kolonne ind ved at ændre på variablen, ANTAL_KOLONNER som er sat til 2 lige nu:
ANTAL_KOLONNER = 2


Det er lagt ind i din kode bliver som her:



<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
'Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/db/billeder.mdb")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("db12.mdb")
strSQL = "Select * From Images"
RS.Open strSQL, Conn, 1

ANTAL_KOLONNER = 2
noPrRow = (rs.RecordCount/ANTAL_KOLONNER)
if noPrRow > int(noPrRow) then noPrRow = Int(noPrRow)+1
Response.Write noPrRow

antalIrow = 0
%>
<table><tr><td>
<% Do While Not rs.EOF

if antalIrow = 0 then
  Response.Write "<table><tr><td>"
end if
%>

<table border="0" cellpadding="0" cellspacing="4" width="40%" bgcolor="#999966">
    <tr>
        <td rowspan="3" width="25%">
        <A HREF="java script:displayWindow('gallerishowimg.asp?id=<%=RS("ID")%>',<%=RS("Width")%>,<%=RS("Height")%>)">
        <img src="../pic/ungdom/galleri/<%=RS("Images")%>.<%=RS("Filtype")%>" height=100 width=169 border=0></a></td>
        <td width="75%"><font size="1" face="Tahoma">Filtype: <strong><%= RS("Filtype")%></strong></font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Højde: <strong><%= RS("Height")%></strong> pixel, Bredde: <strong><%= RS("Width")%></strong> pixel</font></td>
    </tr>
    <tr>
        <td width="75%"><font size="1" face="Tahoma">Beskrivelse: <strong><%= RS("Description")%></strong> </font></td>
    </tr>
</table>

<%
antalIrow = antalIrow +1
if antalIrow = noPrRow then
  Response.Write "</td></tr></table>"
  Response.Write "</td><td>"
  antalIrow = 0
end if

RS.MoveNext
Loop
if antalIrow > 0 then
  Response.Write "</td></tr></table>"
end if
rs.Close
%>
</td></tr></table>
Avatar billede eagleeye Praktikant
13. juli 2003 - 01:38 #10
hmmm ret lige connnecten tilbage til din egen og ikke min connection til db12 ;)
Avatar billede jtc Nybegynder
13. juli 2003 - 11:35 #11
eagleeye der er noget galt her
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/db/billeder.mdb")
strSQL = "Select * From Images"
RS.Open strSQL, Conn, 1

ANTAL_KOLONNER = 2
noPrRow = (rs.RecordCount/ANTAL_KOLONNER)
if noPrRow > int(noPrRow) then noPrRow = Int(noPrRow)+1
Response.Write noPrRow

antalIrow = 0
%>
Avatar billede eagleeye Praktikant
13. juli 2003 - 11:38 #12
Ikke så vidt jeg kan se.
Kan du prøve at beskrive hvad der er galt?
Avatar billede jtc Nybegynder
13. juli 2003 - 11:39 #13
sorry nu har jeg fået det til at fungere, men hvordan får jeg kolonnerne til at blive top_justeret hvis du forstår
Avatar billede eagleeye Praktikant
13. juli 2003 - 11:42 #14
Arh ok, nej det er de ikke lige nu.

Ret disse linjer.
%>
<table><tr><td>
<% Do While Not rs.EOF

Til:
%>
<table><tr><td valign="top">
<% Do While Not rs.EOF



Samt denne linje:
  Response.Write "</td><td>"


Til denne:
  Response.Write "</td><td valign=""top"">"
Avatar billede jtc Nybegynder
13. juli 2003 - 11:44 #15
ja det så bedre ud, men der står et 4-tal øverst på min side hvorfor det??
Kig selv på
http://www.insideout.dk/ungdom/galleri.asp
Avatar billede jtc Nybegynder
13. juli 2003 - 11:47 #16
Er det ikke denne "kode" der skriver 4-tallet?????????

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.RecordSet")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath ("/db/billeder.mdb")
strSQL = "Select * From Images"
RS.Open strSQL, Conn, 1

countSQL = "Select Count(ID) As Count From Images"
RS2 = Conn.Execute(countSQL)

ANTAL_KOLONNER = 2
noPrRow = (rs.RecordCount/ANTAL_KOLONNER)
if noPrRow > int(noPrRow) then noPrRow = Int(noPrRow)+1
Response.Write noPrRow

antalIrow = 0
%>
Avatar billede eagleeye Praktikant
13. juli 2003 - 11:49 #17
;) ups fik ikke fjernet den linje som udskriver hvor mange der skal være i hver kolonne:

Bar fjern denne linje:

Response.Write noPrRow
Avatar billede jtc Nybegynder
13. juli 2003 - 11:51 #18
Så fungere det jo tak for hjælpen

Vil du ikke være sød at prøve at kigge på et andet spørgsmål jeg har kørende, hvis du skal have flere point så får du det skam

http://www.eksperten.dk/spm/371376
Avatar billede jtc Nybegynder
13. juli 2003 - 11:54 #19
jeg giver nmh 20 point for hans forslag som jeg godt kan bruge selvom det ikke præcis var det jeg ønskede

Eagleeye for 40 point for hans forslag som var det jeg ønskede
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