Avatar billede rathkjen Nybegynder
08. december 2008 - 12:11 Der er 10 kommentarer og
1 løsning

Udskrift på flere sider

Hej.

Som titlen siger skal jeg udskrive på flere sider, dvs jeg har 5 tekster i min database som jeg hiver ud med en while(), hver af disse tekster skal komme på en side for sig selv når jeg udskriver.

De må gerne have mellemrum i mellem, opstillingen er ligemeget på hjemmesiden, de skal bare komme ud på hver deres side når jeg udskriver.

Løsningen skal virker på alle tekster, så fremt teksten ikke overskrider siden naturligvis.

er der en løsning til dette?
Avatar billede olebole Juniormester
08. december 2008 - 12:31 #1
<ole>

Sålænge, vi ikke ved mere, kan det ikke udelukkes, der findes en løsning  =)

/mvh
</bole>
Avatar billede rathkjen Nybegynder
08. december 2008 - 12:37 #2
Hvad vil du gerne vide mere?

vi har 5 tekster. de skal skrives ud på hver deres side. har forsøgt med:

<div style="width: 21cm; height: 29.7cm;">Tekst 1</div>
<div style="width: 21cm; height: 29.7cm;">Tekst 2</div>
osv...

uden held. Tekst 1 feltet virker ikke langt nok da 1/4-del af tekst 2 kommer på side 1.

Spørg endelig hvis der er noget du ikke forstår....
Avatar billede mireigi Novice
08. december 2008 - 12:41 #3
Jeg tror det du leder efter kan findes her:

http://www.evolt.org/article/Multiple_Pages_With_PHP/17/19340/index.html

Du skal nok erstatte
if (!($limit)){
    $limit = 10;} // Default results per-page.

med

if (!($limit)){
    $limit = 1;} // Default results per-page.


En nemmere løsning er følgende:
Når du har oprettet forbindelse til databasen og hevet dit resultatsæt ud, går du til det første sæt i samlingen og udskriver teksten mellem følgende tags:

<p>[#Din_Tekst_Her#]</p>

derefter går du til det næste sæt i samlingen og kører din while() og udskriver mellem disse tags:

<p style="page-break-before:always;">[#Din_Tekst_Her#]</p>
Avatar billede olebole Juniormester
08. december 2008 - 12:41 #4
Jamen, hvad vil du have, PHP eller vi skal gøre ved, at du har for meget tekst til, det kan stå på én side? Jeg forstår ikke rigtig, hvad det er, du forventer  =)
Avatar billede mireigi Novice
08. december 2008 - 12:50 #5
Sådan som jeg har forstået det, så har han 5 forskellige tekster af forskellig længde. Hver tekst vil han så have udskrevet på hver sin side, eller så de altid starter på en ny side.

Normalt udskriver den således:
___________
|Overskrift|
|bla bla...|
|bla bla...|
|Overskrift|
|bla bla...|
|....side 1|
------------

Han vil nok have det således:
___________
|Overskrift|
|bla bla...|
|bla bla...|
|....side 1|
------------

___________
|Overskrift|
|bla bla...|
|....side 2|
------------
Avatar billede rathkjen Nybegynder
08. december 2008 - 12:53 #6
Spot on mireigi.
Avatar billede rathkjen Nybegynder
08. december 2008 - 12:56 #7
Du snakker noget om en nemmere løsning. hvis vi forsøger med den og tager den helt simpel, er det så noget i den her stil du mener?

<html>
<head>
    <title>Print</title>
</head>

<body>
<p>side 1</p>

<p style="page-break-before:always;">side 2</p>

</body>
</html>
Avatar billede mireigi Novice
08. december 2008 - 13:57 #8
Ja, du skal bare erstatte "side 1" og "side 2" med din PHP kode der udtrækker den tekst du gerne vil have. Er ikke selv en haj til PHP, men kan da vise hvordan det gøre i ASP.

Dette placerer du på siden hvor teksten står:
<a onclick="java script:window.open('print.asp')">Udskriv</a>

Koden herunder sætter du ind i en ny fil kaldet "print.asp" og placerer den i samme mappe som den fil hvor du har ovenstående Link placeret.

[COPY FROM HERE]
<html>
<body>
<%
SET Conn = ADODB.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={SQL SERVER}; Server=127.0.0.1; Database=testdb; UID=migselv; pwd=password"
SET RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT Tekst FROM t_Tekster ORDER BY Prioritet ASC;"
RS.Open(SQL, Conn)
IF NOT RS.EOF THEN
%>
<p><%=RS("Tekst")%></p>
<%
RS.MoveNext
IF NOT RS.EOF THEN
DO UNTIL RS.EOF
%>
<p style="page-break-before:always;"><%=RS("Tekst")%></p>
<%
LOOP
RS.MoveNext
END IF
END IF
RS.Close
SET RS = nothing
Conn.Close
SET Conn = nothing
%>
</body>
<script language="javascript" type="text/javascript">
window.print();
</script>
</html>
[COPY TO HERE]

Det skal selvfølgelig omskrives til PHP, men jeg tror dette skulle give dig en idé om hvad det er jeg mener :)
Avatar billede rathkjen Nybegynder
08. december 2008 - 14:17 #9
Perfekt, det skal jeg nok finde ud af :)

smid et svar så får du point :)
Avatar billede mireigi Novice
08. december 2008 - 14:21 #10
Det var så lidt.

Håber du får det til at virke :)

MiReiGi
Avatar billede rathkjen Nybegynder
08. december 2008 - 14:26 #11
Uden tvivl :) mange tak for hjælpen
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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