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

Смежные вопросы