2014-01-22 33 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