Avatar billede hundevennen Nybegynder
08. april 2006 - 09:40 Der er 11 kommentarer og
3 løsninger

print af databaseudtræk

Kan man og hvordan f.eks hvis man køre et loop og der er mange poster man vil ha skrevet ud - definere at man kun vil ha f.eks de første 10 poster på side 1 og derefter 30 poster ad gangen på de efterfølgende sider
Avatar billede mitbrugernavn Praktikant
08. april 2006 - 14:05 #1
du kører et loop
tæller de første 10 op
side_1 = 10

do
i = i + 1
response.write rs("tekst")
if int(side_1) = int(i) then
response.write sideskift ved udskrift
%>
<div id="page-break-before">
</div>
<%
i = 0
side_1 = 30
end if
rs.movenext

'og dette smider du så ind i dit style sheet

}
.page-break-before {
    page-break-after: always;
}
Avatar billede hundevennen Nybegynder
08. april 2006 - 16:26 #2
mitbrugernavn - jeg tester af og vender tilbage efter påske
Avatar billede hundevennen Nybegynder
08. april 2006 - 17:58 #3
mitbrugernavn - jeg er lidt rusten ku du sætte det ind i den her

openconnection

strText =     "SELECT * FROM projekt order by id asc"

getdata strtext       
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
           
            Do while not dbset.eof
           
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
   
   

            Response.write "</tr>"
   
            dbset.movenext
            loop
            response.write "</table>"   
closeconnection
Avatar billede mitbrugernavn Praktikant
08. april 2006 - 18:26 #4
openconnection
side_1 = 10

strText =    "SELECT * FROM projekt order by id asc"

getdata strtext       
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
           
            Do while not dbset.eof
            i = i + 1

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
   
   

            Response.write "</tr>"
    if int(side_1) = int(i)
side_1 = 30
%>
<div id="page-break-before">
</div>

<%
end if

            dbset.movenext
            loop
            response.write "</table>"   
closeconnection
%>

prøv
Avatar billede mitbrugernavn Praktikant
08. april 2006 - 18:27 #5
husk denne i dit style sheet

.page-break-before {
    page-break-after: always;
}
Avatar billede hundevennen Nybegynder
08. april 2006 - 21:44 #6
jeg har lagt stylen ind på siden og den udskriver alle post og laver ikke et pagebreak??

<!-- #include file="utils.asp" -->
<style>
.page-break-before {
    page-break-after: always;
}

</style>
<body background="lysbaggrund.jpg">
<%
    dim color
openconnection
side_1 = 10

strText =    "SELECT * FROM sider order by id asc"

getdata strtext       
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
           
            Do while not dbset.eof
            i = i + 1

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
   
   

            Response.write "</tr>"
    if int(side_1) = int(i)then
side_1 = 30
%>
<div id="page-break-before">
</div>

<%
end if

            dbset.movenext
            loop
            response.write "</table>"   
closeconnection
%>


%>


</body>
Avatar billede mitbrugernavn Praktikant
09. april 2006 - 07:35 #7
undskyld med i dit style sheet skal der en havelåge foran

#page-break-before {
    page-break-after: always;
}
prøv det
Avatar billede hundevennen Nybegynder
09. april 2006 - 10:24 #8
det gjorde ikke den store forskel - dog tog den den øverste linie med link til forsiden og skrev på side 2 eller var alle records på side 1 - gør det en forskel af have en stylesheet - jeg har jo lavet stylen direkte på siden?
Avatar billede mitbrugernavn Praktikant
09. april 2006 - 20:11 #9
<!-- #include file="utils.asp" -->
<style>
#page-break-before {
    page-break-after: always;
}

</style>
<body background="lysbaggrund.jpg">
<%
    dim color
openconnection
side_1 = 10

strText =    "SELECT * FROM sider order by id asc"

getdata strtext       
response.write "<table border=1 cellpadding=0 cellspacing=0 width=400>"
      Response.Write "<tr><th align=left>id</th><th>Projekt</th><th colspan=2>&nbsp;</th></tr>"
           
            Do while not dbset.eof
            i = i + 1

                Response.write "</tr>"
            response.write "<td>&nbsp;" & trim(dbset(0)) & "</td><td>&nbsp;" & trim(dbset(1)) & "</td>"
   
   

            Response.write "</tr>"
    if side_1 = i then  'her er der en rettelse
    side_1 = 30
    i = 0  'og selvfølgelig skal i nulstilles
%>
<div id="page-break-before">
</div>

<%
end if

            dbset.movenext
            loop
            response.write "</table>"   
closeconnection
%>
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>

det er først i printen du kan se det.

denne er tester her hvor den bare kører med et antal til 100 og den kører fint side 1 med 10 og 3 sider med 30.
Avatar billede hundevennen Nybegynder
10. april 2006 - 17:17 #10
???????beklager den skriver stadig alt hvad jeg har ud på første side - jeg har en accessbase og tabellen hedder jo sider og den indeholder 28 records og de kommer alle på første side hvor jeg helst kun skulle ha de første 10 - er der noget jeg helt har misforstået i din kode
Avatar billede hundevennen Nybegynder
10. april 2006 - 18:29 #11
er der forskel på om det er IE eller firefox
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 11:04 #12
denne test har jeg kørt både i IE og firefox og det kører

<style>
#page-break-before {
    page-break-after: always;
}

</style>
<body>

<%
antal_sider = 3
pr_side = 30 
side_1 = 10
for b = 1 to antal_sider
for i = 0 to pr_side
         

                Response.write i & "<br>"
   
next 
%>
<%
if b <> antal_sider then
%>
<div id="page-break-before">
</div>

<%
end if
next
 
%>

<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
<!--

window.print();

//-->
</SCRIPT>
Avatar billede hundevennen Nybegynder
11. april 2006 - 11:59 #13
jeg er ikke helt sikker på at vi snakker om den samme ting længere - for jeg fatter ikke en brik af det du skriver - beklager.
når jeg har hentet mit recordset har jeg altså 28 linier = 28 id eller records fra min database.
jeg vil gerne ha skrevet de første 10 på side 1 og derefter 30 på side 2 hvis der er så mange eller ihverfald til der ikke er flere, - i mit tilfælde altså 18 linier på side 2
Avatar billede mitbrugernavn Praktikant
11. april 2006 - 12:45 #14
jeg er helt med - det sidste jeg lagde til dig er bare en test om det kører - denne test skal udskrive 3 sider med tal fra 0 til 30 på hver.

kan du få det til at virke ???
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