2014-01-22 36 views
0

我在顯示數據後在同一頁面提交php表單,我想打印它。我能夠做到這一點。但是我想只打印顯示在表格中的結果數據。僅打印選定的數據

這裏是我的網頁

<?php 

include ("include/dbconnect.php"); 
include ("include/format.inc.php"); 

?> 
<script> 
function myFunction() 
{ 
window.print(); 
} 
</script> 
<script src="htmlDatePicker.js" type="text/javascript"></script> 
    <link href="htmlDatePicker.css" rel="stylesheet"> 


<script type="text/javascript"><!-- 
     var today = new Date(); 

     DisablePast = false; 
     range_start = new Date(today.getFullYear(),today.getMonth(),8); 
     range_end = new Date(today.getFullYear(),today.getMonth(),5); 
    --></script> 


<?php 
include ("include/header.inc.php"); 
if(isset($_POST['submit'])) 
{ 
$date1 = $_POST['SelectedDate1']; 
$date2 = $_POST['SelectedDate1']; 

echo $date1; 
echo $date2; 

$sql = "select * from addressbook where lindate between '".$date1."' AND '".$date2."' "; 
$result = mysql_query($sql) or die (mysql_error()); 


    echo '<table width="90%" align="center" cellpadding="0" border="0">'; 
while($row = mysql_fetch_assoc($result)) 
{ 
echo '<tr><td>' .$row['firstname']. $row['lastname']. '</td>'; 
echo '<td>' .$row['address']. '</td>'; 
echo '<td>' .$row['mobile']. '</td>'; 
echo '<td>' .$row['email']. '</td>'; 
echo '<td>' .$row['lindate']. '</td>'; 
echo '<td>' .$row['lintime']. '</td>'; 
echo '<td>' .$row['louttime']. '</td>'; 
echo '<td>' .$row['login']. '</td></tr>'; 

} 
echo '</table>'; 

echo '<button onclick="myFunction()">Print this page</button>'; 
} 
?> 




<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post"> 
Select Date Range:<br /> 

<input type="text" placeholder="Click me!" name="SelectedDate1" id="SelectedDate" readonly onClick="GetDate(this);">&nbsp;&nbsp;&nbsp;&nbsp; TO &nbsp;&nbsp;&nbsp;&nbsp; 
<input type="text" placeholder="Click me!" name="SelectedDate2" id="SelectedDate" readonly onClick="GetDate(this);"> 



<input type="submit" name="submit" value="VIEW DATA" /> 
</form> 

<?php include ("include/footer.inc.php");?> 

在這裏,我想只選擇表中的數據。請告訴我該怎麼做

回答

1

什麼打印可以通過打印樣式表很容易控制。在打印樣式表中,您可以使用display:none;在頁眉,頁腳,菜單等元素或塊上。這樣,只有要打印的內容纔會發送到打印機。

這篇文章應該讓你與創建的打印樣式表會: http://coding.smashingmagazine.com/2011/11/24/how-to-set-up-a-print-style-sheet/

希望這有助於:)

+0

謝謝你。這對我幫助很大。我的問題已解決。謝謝 – user2669924

+0

不客氣,很高興這有幫助。有可能使用javascript將特定內容發送到打印機,但我發現這種方法在各種瀏覽器之間是不成文的。打印樣式表是我首選的方法。 – flauntster

+0

舊IE支持怎麼樣?文章是否涉及它?或者,也許你應該使用https://code.google.com/p/css3-mediaqueries-js/? – nedR

0

放置在一個div表,然後使用jQuery打印:$("mailcontent").printElement();

+0

個人不知道,但似乎這與IE瀏覽器有問題嗎?:http://stackoverflow.com/questions/17449955/jquery-printelement-prints-the-whole-page-in-internet-explorer – nedR