Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

CSS/PHP - print af spillekort

Side 1 ud af 2 (11 indlæg)
Fra 9560 Hadsund
Tilmeldt 28. Sep 05
Indlæg ialt: 1298
Fra  Conseo Skrevet kl. 20:49
Hvor mange stjerner giver du? :

Hej Aminoer

Jeg har en side der generere 52 spillekort. Disse skal nemt kunne printes ud, men når man printer, så deler kortene sig over flere sider.

Så jeg søger en løsning på at lave en printvenlig version, så der eksempelvis er 9 kort på hver side (3 x 3), og så laver den automatisk page break.

kortene genereres random, ved at jeg looper igennem databasen og laver kortene med CSS/PHP.

Fra Dianalund
Tilmeldt 11. Apr 09
Indlæg ialt: 888
Fra  Ringhus.dk Skrevet kl. 21:01
Hvor mange stjerner giver du? :

Et hurtigt forsøg på google gav flg svar.

<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.

Mon ikke det er noget du kan bruge.

 

Fra 9560 Hadsund
Tilmeldt 28. Sep 05
Indlæg ialt: 1298
Fra  Conseo Skrevet kl. 21:05
Hvor mange stjerner giver du? :

Tak Michael

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.

Det kan jeg sgisme ikke hitte ud af :)

Fra Dianalund
Tilmeldt 11. Apr 09
Indlæg ialt: 888
Fra  Ringhus.dk Skrevet kl. 21:13
Hvor mange stjerner giver du? :
Gennemsnit 5,0 stjerner givet af 1 person

OKay.

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.

 

Fra 9560 Hadsund
Tilmeldt 28. Sep 05
Indlæg ialt: 1298
Fra  Conseo Skrevet kl. 21:18
Hvor mange stjerner giver du? :

Det giver meget god mening. Det prøver jeg lige.

På forhånd tak :)

Fra 9560 Hadsund
Tilmeldt 28. Sep 05
Indlæg ialt: 1298
Fra  Conseo Skrevet kl. 21:32
Hvor mange stjerner giver du? :

Det virker.. :)

eller i hvert fald udskriver den nu <div page_break> ved hver 9'ende kort, men når jeg printer, er det kun første side der virker??

Link til demo: http://mytwitter.dk/twitter-kort.php

Fra Dianalund
Tilmeldt 11. Apr 09
Indlæg ialt: 888
Fra  Ringhus.dk Skrevet kl. 22:03
Hvor mange stjerner giver du? :

Hej Lars.

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 &nbsp; ind i mellem <div> og </div> så laver du et mellemrum, og det er nok til at få den frem.

Lad mig høre hvis det ikke spiller.

 

Fra 9560 Hadsund
Tilmeldt 28. Sep 05
Indlæg ialt: 1298
Fra  Conseo Skrevet kl. 22:14
Hvor mange stjerner giver du? :

Smukt :)

jeg skylder en virtuel øl Beer

Tak for hjælpen

Fra Dianalund
Tilmeldt 11. Apr 09
Indlæg ialt: 888
Fra  Ringhus.dk Skrevet kl. 22:21
Hvor mange stjerner giver du? :

Pas på, det kan være jeg tager dig på ordet en dag.

Det var så lidt.

Og tak for julekalenderen.

 

Tilmeldt 20. Apr 07
Indlæg ialt: 16014
30% af profil udfyldt
Skrevet kl. 22:21
Hvor mange stjerner giver du? :
Gennemsnit 5,0 stjerner givet af 1 person

Michael R. Gertz:

OKay.

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.

Side 1 ud af 2 (11 indlæg)