21. september 2008 - 13:41Der er
8 kommentarer og 1 løsning
Printervenlig side
Jeg har en php-side som brugerne skal kunne udskrive printervenligt. Det vil sige knapper, menuer osv. skal ikke med. Indholdet, der skal udskrives kommer fra en database.
Jeg forestiller mig:
på første side: en ikon <a href="print.php"><img="printer.gif"</a>
og herunder indholdet fra databasen, samt diverse menuer og knapper.
på side 2 (print.php)
<body onload="window.print();> <?php
udskriv databaseindhold (eller dele heraf bestemt fra side1).
$sql = select ***** ---- while løkke {
-------
} ?>
</body>
Mit ønske er at når siden er udskrevet returneres der automatisk til side 1. Alternativt en mulighed for en knap med "returfunktion".
Normalt gør man bare det, at man sætter media="screen" på sit CSS-dokument og laver et print-CSS-dokument, som skjuler de ting, der ikke skal med på print, og sætter media="print" på dét.
Men med din løsning kan du vel bare redirecte med noget JavaScript?
Du kan gøre det hele i CSS blot ved at bruge to CSS-filer.
Hvis du fx kalder din normale CSS for screen.css, så kan du lave en ny CSS, der fx hedder print.css, hvorefter du indsætter følgende i <head> i dit dokument: <link rel="stylesheet" type="text/css" media="print" href="print.css" /> <link rel="stylesheet" type="text/css" media="screen" href="screen.css" />
Din print.css vil så blive brugt, når man forsøger at udskrive siden. I den kan du så fx definereat baggrundsfarven skal være hvid (body { background: #fff; }) og at din menu fx ikke skal vises (#menu { display: none; }), eller hvad du nu har lyst til.
Ja, nu printer den, når man trykker på knappen. Men desværre kommer knapperne med (Der er ikke to, der har det samme navn - jeg har omdøbt dem for en sikkerheds skyld) NB! har husket at omdøbe i print.css også.
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.