Εκτύπωση πίνακα από μία σελίδα php

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
gchar
Δημοσιεύσεις: 32
Εγγραφή: 30 Αύγ 2008 18:19

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από gchar » 13 Φεβ 2009 23:43

Καλησπέρα σε όλους!

Έχω μία εφαρμογή που έχει ένα μενού και κάποια tabs και στο κυρίως content υπάρχει ένας πίνακας στον οποίο βάζω κάποια στοιχεία θα ήθελα να έχω ένα κουμπί το οποίο πατώντας το να μου τυπώνει τον πίνακα με τα στοιχεία και όχι όλη την σελίδα.
Έχει κανείς καμμία ιδέα!!

Ευχαριστώ πολύ εκ των προτέρων!

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από korgr » 14 Φεβ 2009 01:31

Απ' όσο ξέρω για να τυπωθεί μόνο μια συγκεκριμένη περιοχή μιας ιστοσελίδας, θα πρέπει ή ο χρήστης να κάνει selection και στο print dialog να επιλέξει print selection, ή να ανοίγει σε ένα άλλο παράθυρο μόνο το περιεχόμενο που θέλουμε να τυπωθεί και να οριστεί ενα event onload οπου θα εκτελούνται τα window.print() και window.close() αυτόματα μολις φορτωθει η σελίδα.

gchar
Δημοσιεύσεις: 32
Εγγραφή: 30 Αύγ 2008 18:19

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από gchar » 14 Φεβ 2009 01:39

Ευχαριστώ καταρχήν για την απάντηση!
Θα μπορούσες να μου εξήγήσεις καλυτερα την τεχνική με το Selection.
Ευχαριστώ πολύ για τον χρόνο σου!

Άβαταρ μέλους
Kainourios
Ruby Moderator
Δημοσιεύσεις: 504
Εγγραφή: 18 Μάιος 2005 16:20
Τοποθεσία: Κορυδαλλός
Επικοινωνία:

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από Kainourios » 14 Φεβ 2009 08:58

Ορίζεις στα css σαν media print όπως παρακάτω:

Κώδικας: Επιλογή όλων

<link rel="stylesheet" type="text/css" media="print" href="print.css" />
Μετά όσα divs κτλ. δεν τα θες τους βάζεις display:none στο print.css και όσα θες να φαίνονται τα αφήνεις όπως είναι (ή ορίζεις και πώς θες να φαίνονται). Το κουμπάκι το φτιάχνεις όπως είπε korgr.

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από korgr » 14 Φεβ 2009 11:37

gchar έγραψε:Ευχαριστώ καταρχήν για την απάντηση!
Θα μπορούσες να μου εξήγήσεις καλυτερα την τεχνική με το Selection.
Ευχαριστώ πολύ για τον χρόνο σου!
Δεν υπαρχει καποια τεχνικη για το selection απλα στηριζεσαι στις γνωσεις του user
Αν δλδ εγω θελω να τυπωσω μονο το δικο σου post εδω στο fs, θα το κανω select και μετα File--> Print και στο print range θα επιλεξω selection

gchar
Δημοσιεύσεις: 32
Εγγραφή: 30 Αύγ 2008 18:19

Εκτύπωση πίνακα από μία σελίδα php

Δημοσίευση από gchar » 16 Φεβ 2009 11:55

Καλησπέρα ξανα,

Λοιπόν μετά από ψάξιμο βρήκα έναν τρόπο:
1)Το κομματι που θέλεις να τυπώσεις το βάζεις μέσα σε ένα div του οποίο του δίνεις μία ονομασία π.χ print.
2)Στην συνέχεια στο button που πραγματοποιεί την εκτύπωση βάζεις την εξής μέθοδο στο onclick:

Κώδικας: Επιλογή όλων

<input type="button" name="print" onclick="printContent&#40;'print'&#41;;" value="Εκτύπωση">
3)Προσθέτεις τον κώδικα printContent('ονομασία div Που θέλεις να τυπωθεί').

Συνοπτικά στην σελίδα που το χρησιμοποιώ ο κώδικας είναι:

Κώδικας: Επιλογή όλων

<form id="FormQuest" action="w2e1.php" method="POST">
			<DIV id="print">
				<table border="0" cellspacing="0" width=70%>
					<tr>
						  <td width=45%>*******&#58;
						  </td>
						  <td width=55%><INPUT class="textfield" readonly=true id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>*********&#58;</td>
						  <td><INPUT class="textfield" readonly=true id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>*********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					 </tr>
					<tr>
						  <td>ΥΠΕΥΘΥΝΟΣ ΣΥΣΤΗΜΑΤΟΣ ΔΙΑΧΕΙΡΙΣΗΣ ***********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>**********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>**********&#58;</font>
						  </td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>***********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
					<tr>
						  <td>***********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					 </tr>
					<tr>
						  <td>**************&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					 </tr>
					<tr>
						  <td>**********&#58;</td>
						  <td><INPUT class="textfield" id="" name="" type="text" style="WIDTH&#58;90%;" maxLength="100">
						  </td>
					</tr>
				</table>
				</DIV>
				<table border="0" cellspacing="0" width=70%>
					<tr>
						  <td align=center><input type="submit" name="status" value="Εισαγωγή">
						  &nbsp;<input type="button" name="print" onclick="printContent&#40;'print'&#41;;" value="Εκτύπωση"></td>
					</tr>
				</table>
			</form>
			</div>
	</div>
	<script type="text/javascript">
<!--
function printContent&#40;id&#41;&#123;
str=document.getElementById&#40;id&#41;.innerHTML
newwin=window.open&#40;'','printwin','left=10,top=10,width=900,height=600'&#41;
newwin.document.write&#40;'<HTML>\n<HEAD>\n'&#41;
newwin.document.write&#40;'<TITLE>Print Page</TITLE>\n'&#41;
newwin.document.write&#40;'<script>\n'&#41;
newwin.document.write&#40;'function chkstate&#40;&#41;&#123;\n'&#41;
newwin.document.write&#40;'if&#40;document.readyState=="complete"&#41;&#123;\n'&#41;
newwin.document.write&#40;'window.close&#40;&#41;\n'&#41;
newwin.document.write&#40;'&#125;\n'&#41;
newwin.document.write&#40;'else&#123;\n'&#41;
newwin.document.write&#40;'setTimeout&#40;"chkstate&#40;&#41;",2000&#41;\n'&#41;
newwin.document.write&#40;'&#125;\n'&#41;
newwin.document.write&#40;'&#125;\n'&#41;
newwin.document.write&#40;'function print_win&#40;&#41;&#123;\n'&#41;
newwin.document.write&#40;'window.print&#40;&#41;;\n'&#41;
newwin.document.write&#40;'chkstate&#40;&#41;;\n'&#41;
newwin.document.write&#40;'&#125;\n'&#41;
newwin.document.write&#40;'<\/script>\n'&#41;
newwin.document.write&#40;'</HEAD>\n'&#41;
newwin.document.write&#40;'<BODY onload="print_win&#40;&#41;">\n'&#41;
newwin.document.write&#40;str&#41;
newwin.document.write&#40;'</BODY>\n'&#41;
newwin.document.write&#40;'</HTML>\n'&#41;
newwin.document.close&#40;&#41;
&#125;
//-->
</script>

</body>
</html>
Με αυτόν τον τρόπο δουλέυει μία χαρά αλλά έχω το εξής πολύ σοβαρό πρόβλημα!!Αν κάποιος συμπληρώσει κείμενο στα text fields και μετά πατήσει εκτύπωση δεν δείχνει στην εκτύπωση το κείμενο που έχει προσθέσει ο χρήστης.

Καμμία ιδέα για αυτο?????

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες