2013-07-31 15 views
6

aracılığıyla nasıl yazdırırım php mysql'deki bir form üzerinde çalışıyorum.Sayfanın belirli bir bölümünü window.print()

<span style="float:right;"><a href="javascript:window.print()" type="button" class="btn">PRINT</a></span> 

ama: bu yüzden tıpkı bir BASKI düğmesine yapılmış neden sadece tablo yapısı şu benim sayfasında bir formu vardır ve ben yazdırmak istediğiniz format.now bunun altında ben tabloda bu formun verileri gösterilmiştir tüm sayfayı form alanı ve tablo ile yazdıracak ve sadece tablo yazdırmak istiyorum.

<html> 
<head></head> 
<body> 
<div class="container"> 
<form class="form-horizontal" action="" method="post" name="userform1" id="company-form" enctype="multipart/form-data"> 
    <?php if($_GET[id]){?> 


<fieldset> 
    <legend>Add Company</legend> 
    <div class="control-group"> 
    <label class="control-label">Company Name</label> 
    <div class="controls"> 
    <input type="text" name="company" id="company" value="<?php echo $selup['company']?>"> 
    </div> 
    </div> 
<div class="control-group">another field</div> 
<div class="control-group">another field</div> 
<div class="control-group"> 
    <div class="controls"> 
    <button type="submit" class="btn" name="submit" id="submit" value="Submit">Submit</button> 
    </div> 
    </div> 
<table class="table table-bordered"> 
      <tbody> 
      <tr> 
       <td>S.No.</td> 
       <td>Company Name</td> 
       <td>Type</td> 
       <td>Action</td> 
      </tr> 
       <?php 
       // to print the records 
       $select = "select * from company where type='Miscellaneous'"; 
       $query1 = mysql_query($select); 
       while($value = mysql_fetch_array($query1)){ ?> 

       <tr> 
       <td><?php echo $value[id];?></td> 
       <td><?php echo $value[company ];?></td> 
       <td><?php echo $value[type];?></td> 
       <!--<td>&nbsp;</td>--> 
       <?php /*?><td><?php echo $value[amount];?></td>    
       <td><?php echo $value[date];?></td><?php */?> 
       <td><a href="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $value[id];?>&cmd=edit"><i class="icon-edit"></i></a> 
       <a href="<?php echo $_SERVER['PHP_SELF']; ?>?id=<?php echo $value[id];?>&cmd=delete" onclick="return confirm('Are you sure you want to delete <?php echo $value[customer];?>?')"><i class="icon-trash"></i></a></td> 


       </tr><?php }?> 
     </tbody> 
     </table> 
</fieldset> 
<form> 
</div> 
</body> 

yüzden sadece değil tüm sayfayı tablosunu yazdırmak istiyorum: Burada form ve masa ile benim bütün sayfanın tasarımdır.

+0

Olası Çoğalt: http://stackoverflow.com/questions/11738380/why-does-it-print-only-one-time-please-give-me-solution/11738592#11738592 –

+0

Sadece form etiketinizin kapalı olmadığını belirtmek için. – IGRACH

+0

Bu yanıtı deneyin: http://stackoverflow.com/a/26114555/3944217 – edCoder

cevap

9
yazdırmak istemiyorum css öğeleri gizlemek için

Kullanım:

@media print { 
    .control-group { 
     display: none; 
    } 
} 
+0

yaptım ama bazı nedenleri benim için çalışmıyor .. :(ben aynı sayfada şeyler aal dedi. – Montiyago

+0

hey finaly Değerli yardımınız için teşekkür ederiz. – Montiyago

2

Bir doktorunun çözümü, belki de en iyi seçenek:

1. Open a new window with JS 
2. Copy the whole table into the new window (with jQuery for example) 
3. Print the new window 
4. Close the window 

Tabii bu bir göz kırpma etkisi vardır ama bu çalışacaktır.

3

Sen @media baskı ile aynı yapan bir baskı-css (yapabilir, ama daha temiz olduğunu düşünüyorum ve sen Eğer ihtiyacınız varsa), javascript ile dahil css devre dışı bırakabilirsiniz:

<link rel="stylesheet" type="text/css" href="print.css" media="print" /> 

o css olarak, örneğin, baskılı kalmayacaklar tüm öğeleri gizlemek:

.wrapper, .header {display: none;} 
+0

Değerli yardımınız için teşekkürler, fakat bazı sebeplerden dolayı benim için çalışmaz – Montiyago

+0

Değerli yardım kardeşiniz için teşekkürler. – Montiyago

3
function printContent(el){ 
    var restorepage = document.body.innerHTML; 
    var printcontent = document.getElementById(el).innerHTML; 
    document.body.innerHTML = printcontent; 
    window.print(); 
    document.body.innerHTML = restorepage; 
} 
<!DOCTYPE html> 
<html> 
<head> 

</head> 
<body> 
<h1>My page</h1> 
<div id="div1">DIV 1 content...</div> 
<button onclick="printContent('div1')">Print Content</button> 
<div id="div2">DIV 2 content...</div> 
<button onclick="printContent('div2')">Print Content</button> 
<p id="p1">Paragraph 1 content...</p> 
<button onclick="printContent('p1')">Print Content</button> 
</body> 
</html> 
İlgili konular