<style> .break { page-break-before: always; } </style> <body> content on page 1... <h1 class="break">text of Heading 1 on page 2</h1> content on page 2... <h1 class="break">text of Heading 1 on page 3</h1> content on page 3... <p class="break">content on top of page 4</p> content on page 4... </body>
Jeg har lavet en test.html siden smidt koden ind, og prøvet at printe den, og i preview print komer det frem som 3 sider, hvilket jeg også lige syntes det ser ud til ud fra koden.
Har leget lidt med page break, men mit problem er at jeg looper igennem databasen, og skal så kune have et page break for hver gang den har udskrevet 9 kort.
Jeg har selv måtte finde fejlen, så har siddet og leget lidt med din kode. og har fundet en måde at få det til at spille på nu.
Hvis du i din <div id="page_break"></div> lige smider en ind i mellem <div> og </div> så laver du et mellemrum, og det er nok til at få den frem.
I din PHP har du en While(), for() eller foreach() løkke, som løber resultatet igennem fra databasen.
Uden for denne løkker laver du en variabel som fx kaldes $page_break giv den værdien 0
inde i løkken laver du så en $page_break++; som vil lægge 1 til værdien.
Til sidst i løkken laver du en
if( $page_break == 9 ) {
// print dit pagebreak.
$page_break=0; // sæt værdien af pagebreak til 0 igen. så tælles der forfra næste gang du looper.
}
På denne måde får du printet et pagebreak for hvert 9 kort.
Håber det giver mening.
En nem måde kan også være at bruge moldus.
If($x%9 == 0) {
}
Så behøves man ikke nulstille $x og kan blive ved med at bruge den. %-tegnet tjekker om noget går op i det efterfølgende tal. Hvis resultatet af udregningen er 0 så går $x op i 9.