2013-07-31 14 views
6

sto lavorando su un modulo in php mysql. così nella mia pagina c'è una forma e sotto che ho mostrato i dati di quella forma nella tabella format.now voglio stampare solo la struttura della tabella ecco perché ho appena fatto un pulsante di stampa come:Come stampare parte specifica di una pagina tramite window.print()

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

ma stamperà tutta la pagina con il campo del modulo e il tavolo e voglio solo stampare il tablet. Ecco la progettazione di tutta la mia pagina con la forma e la tabella:

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

quindi voglio solo per stampare la tabella non intera pagina.

+0

Eventuali duplicati: http://stackoverflow.com/questions/11738380/why-does-it-print-only-one-time-please-give-me-solution/11738592#11738592 –

+0

Solo per menzionare il tuo tag form non è chiuso. – IGRACH

+0

Prova questa risposta: http://stackoverflow.com/a/26114555/3944217 – edCoder

risposta

9

usare i CSS per nascondere gli elementi non si desidera stampare:

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

l'ho fatto ma alcuni motivi non funziona per me .. :(come ho detto ho le cose aal nella stessa pagina. – Montiyago

+0

hey finaly l'ho fatto.grazie per il tuo prezioso aiuto bro – Montiyago

2

Una soluzione posible, forse non la migliore opzione:

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 

assicurarsi che ha un effetto batter ma funzionerà.

3

Si potrebbe fare un print-css (che fa la stessa come @media di stampa, ma penso che è più pulita, e si può disattivare il CSS includere tramite javascript, se ne avete bisogno):

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

In che i CSS, si nascondono tutti gli elementi che non dovrebbe ottenere stampati, ad esempio:

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

grazie per il tuo prezioso aiuto ma per qualche ragione non funziona per me. – Montiyago

+0

grazie per il tuo prezioso aiuto bro..ho fatto. – 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> 
Problemi correlati