Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > เห็นมีปัญหากันเยอะ เลยเอามาแจก ระบบ แบ่งหน้าการปริ้น css page-break-after



 

เห็นมีปัญหากันเยอะ เลยเอามาแจก ระบบ แบ่งหน้าการปริ้น css page-break-after

 



Topic : 067959



โพสกระทู้ ( 3,748 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook



เป็นกรณีศึกษาสำหรับผู้ที่ยังไม่รู้หรือท่านที่กำลังมีปัญหากับการแบ่งหน้าเพจการปริ้น หากท่านใดทราบแล้วก็ขออภัยด้วยครับ
ก่อนอื่นเลย การทำการแบ่งหน้า การปริ้น โดยมี หัวกระดาษ และท้ายกระดาษ ติดมาด้วยนั้น จำเป็นต้องแบ่งข้อมูลออกมา 3 ส่วนก่อน
1.ส่วนหัวกระดาษ
2.ส่วนท้ายกระดาษ
3.ส่วนของข้อมูล (เพจนี้จะเป็นเพจมาสเตอร์สำหรับการ include หัวกระดาษ และ ท้ายกระดาษเข้ามา

เริ่มกันเลยครับ (ตามตัวอย่าง)

การประกาศ css style สามารถกำหนดได้ 3 แบบ น่าจะรู้ๆกันนะครับ
แบบที่ 1 เขียนไว้ในไฟล์ .css
แบบที่ 2 เขียนไว้ใน <style></style>
แบบที่ 3 เขียนไว้ใน element โดยกำหนดค่าไว้ใน style
ในตัวอย่างจะเขียนไว้ในแบบที่ 3 นะครับ

<?
include 'ไฟล์ส่วนหัว';


//$sql ="select data_table order by id";
//$result = mysql_query($sql);

///////// การวนลูปโดยใช้ while loop จากฐานข้อมูล
//while($array = mysql_fetch_array($result)){

////// การวนลูปโดยใช้ for
for($i=1;$i<20;$i++){
	
	$page_print = $i;   /////รับค่าจากค่าที่วนลูป
โดย for loop /// $array['id']; /// ใช้คำสั่งนี้เมื่อรับค่าจาก while loop
	$data_show = 10;////////////// จำนวนที่จะสั่งปริ้นต่อหน้า
	
	
	if($page_print%$data_show==0) 
{
	
	include'ไฟล์ส่วนท้าย';

	echo "<div style='page-break-after: always'>";
	
	echo "</div>";
	
	include'ไฟล์ส่วนหัว';

}

	echo "ข้อมูลที่จะแสดงทั้งหมด";
	//echo $array['data'];

}

////จบการวนลูปข้อมูล

include'ไฟล์ส่วนท้าย';
?>


จากตัวอย่างจะแสดงข้อมูลโดย for loop ออกมา 20 ข้อมูล แต่แสดงจริงแค่ 19 เพราะว่าใช้ $i=1; เมื่อกำหนดให้ปริ้นต่อหน้า 10 ข้อมูล เพจก็จะแสดงทั้งหมด 2 เพจ โดยมีหัวกระดาษและท้ายกระดาษติดมาด้วย

หากมีปัญหาการใช้งานใดๆ กรุณาโพสไว้ในบอร์ดนี้เท่านั้นนะครับ ขอบคุณครับ อ้นคุง



Tag : PHP, Ms Access, MySQL, HTML/CSS, CakePHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-10-12 13:23:17 By : Dragons_first View : 5755 Reply : 11
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

เค้าเรียกว่าพลิกแพลง แฮะ ๆ


เพิ่มเติม
น่าจะใช้ได้เฉพาะบน IE ครับ (ไม่แน่ใจว่า Web Browser อื่น ๆ รองรับหรือยัง)


Go to : CSS Page Break on Printing






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-12 17:42:53 By : webmaster
 


 

No. 2



โพสกระทู้ ( 3,748 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

ตอบความคิดเห็นที่ : 1 เขียนโดย : webmaster เมื่อวันที่ 2011-10-12 17:42:53
รายละเอียดของการตอบ ::
ใช้ได้ครับพี่วิน ต้องขอบคุณพี่วินเลยครับที่ให้ทางสว่างจนสามารถนำมาพลิกแพลงได้ 5555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-10-13 10:08:40 By : Dragons_first
 

 

No. 3



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


พอดีผมเพิ่งลองใช้อ่ะคับ หัวท้ายมาแล้วนะคับ แต่เวลามันแบ่งมันออกเป็นขั้นๆอ่ะคับ เพราะผมใช้การแสดงข้อมูลเป็นตารางรึเปล่าคับ ?
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 18:31:12 By : chanwitwi
 


 

No. 4



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


Code (PHP)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>ใบเสนอราคา</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
body {
	font-family: Tahoma, Geneva, sans-serif;
}
body {
	font-size: large;
}
body {
	font-size: small;
}
#apDiv1 {
	position:absolute;
	left:985px;
	top:397px;
	width:118px;
	height:104px;
	z-index:1;
}
#apDiv2 {
	position:absolute;
	left:62px;
	top:210px;
	width:161px;
	height:105px;
	z-index:2;
}
#apDiv3 {
	position:absolute;
	left:957px;
	top:137px;
	width:111px;
	height:108px;
	z-index:3;
}
</style>
<style type="text/css">
table.coll 
{
border-collapse: collapse
}
table.sep
{
border-collapse: separate
}
#apDiv4 {
	position:absolute;
	left:16px;
	top:48px;
	width:166px;
	height:171px;
	z-index:1;
}
.fontsmall {
	font-size: small;
}
.fontsmall {
	color: #000;
}
.fontsmall {
	color: #000;
}
.fonthead {
	font-size: 36px;
	color: #000;
	font-weight: bold;
	font-family: "Angsana New";
}
.fontbig {
	font-size: large;
}
.fontsmall {
	font-weight: normal;
}
.fontsmallbold {
	font-weight: bold;
}
.fontsmallbold {
	font-size: small;
}
.fontsmallbold {
	font-size: small;
}
</style>
<link href="css/font.css" rel="stylesheet" type="text/css">
<style type="text/css">
#apDiv5 {
	position:absolute;
	left:789px;
	top:180px;
	width:180px;
	height:61px;
	z-index:2;
}
#apDiv6 {
	position:absolute;
	left:372px;
	top:198px;
	width:226px;
	height:39px;
	z-index:3;
}
#apDiv7 {
	position:absolute;
	left:166px;
	top:345px;
	width:635px;
	height:39px;
	z-index:4;
}
#apDiv8 {
	position:absolute;
	left:187px;
	top:55px;
	width:666px;
	height:98px;
	z-index:5;
}
.fontbig {
	font-size: x-large;
}
.fontsmall {
	font-family: "Angsana New";
}
.fontsmall {
	font-size: 24px;
}
.fontsmall {
	font-size: medium;
}
#apDiv9 {
	position:absolute;
	left:380px;
	top:227px;
	width:432px;
	height:48px;
	z-index:6;
}
.fontbig1 {	font-size: large;
}
.fontbig1 {	font-size: x-large;
}
#apDiv10 {
	position:absolute;
	left:127px;
	top:291px;
	width:722px;
	height:46px;
	z-index:7;
}
#apDiv11 {
	position:absolute;
	left:128px;
	top:421px;
	width:723px;
	height:271px;
	z-index:8;
}
.fontsmall1 {	font-size: small;
}
.fontsmall1 {	color: #000;
}
.fontsmall1 {	color: #000;
}
.fontsmall1 {	font-weight: normal;
}
.fontsmall1 {	font-family: "Angsana New";
}
.fontsmall1 {	font-size: 24px;
}
.fontsmall1 {
	font-size: large;
}
.fontsmallbold {
	font-family: "Angsana New";
}
.fontsmallbold {
	font-size: large;
}
</style>
<body>
<?
include 'connect.php'; 
include 'headquot.php'; 
for($i=1;$i<20;$i++){
	$page_print = $i;
	$data_show = 12;
	if($page_print%$data_show==0)
	{
		include'tailquot.php';
		echo "<div style='page-break-after: always'>";
		echo "</div>";
		include'headquot.php';
	}?>
    
	<div id="apDiv11">
  <table width="100%" height="97" border="1" align="center" cellspacing="0" bordercolor="#000000">
    <tr>
      <td width="77" height="25" align="center" class="fontsmall1" >รหัสสินค้า</td>
      <td width="556" align="center" class="fontsmall1">รายการ</td>
      <td width="68" align="center" class="fontsmall1">จำนวน</td>
      <td width="90" align="center"  class="fontsmall1">หน่วยนับ</td>
      <td width="83" align="center"  class="fontsmall1">ราคาต่อหน่วย</td>
      <td width="74" align="center" class="fontsmall1">จำนวนเงิน</td>
    </tr>
    <tr>
      <td align="center" class="fontsmall1"><? $sql_item = "select * from  itemstb  inner join  quotdetail ON itemstb.item_id_type = quotdetail.itemid where ref_quotid ='$id' ";
	$result_item = mysql_query($sql_item) or die (mysql_error());
	while($data= mysql_fetch_array($result_item) )
	{
		echo "<br>".$data['itemid'];
	} ?></td>
      <td class="fontsmall1"><? $sql_item = "select * from  itemstb  inner join  quotdetail ON itemstb.item_id_type = quotdetail.itemid where ref_quotid ='$id' ";
	$result_item = mysql_query($sql_item) or die (mysql_error());
	while($data= mysql_fetch_array($result_item) )
	{
		echo "<br>".$data['itemname'];
	}
	 ?></td>
      <td align="center" class="fontsmall1"><? $sql_count = "select quotcount from  quotdetail  where itemid ='$data[itemid]' ";
	$result_count = mysql_query($sql_item) or die (mysql_error());
	while($data_count= mysql_fetch_array($result_count) )
	{
		
		if($data_count['quotamount']=='2'){
			$count=$data_count['quotcount']/12;
			echo "<br>".$count;
		}elseif($data_count['quotamount']=='3'){
			$count_dozen=$data_count['quotcount']/144;
			echo "<br>".$count_dozen;
		}else{
				echo "<br>".$data_count['quotcount'];
		}
	}?></td>
      <td align="center" class="fontsmall1"><? $sql_count = "select quotamount from  quotdetail  where itemid ='$data[itemid]' ";
	$result_count = mysql_query($sql_item) or die (mysql_error());
	while($data_count= mysql_fetch_array($result_count) ){
		if($data_count['quotamount']=='3'){
			$count=$data_count['buycount']/144;
			echo "<br>"."กุรุส";
		}elseif($data_count['quotamount']=='2'){
			$count_dozen=$data_count['buycount']/12;
			echo "<br>"."โหล";
		}elseif($data_count['quotamount']=='1'){
			echo "<br>"."อัน";
		}elseif($data_count['quotamount']=='4'){
			echo "<br>"."กล่อง";
		}elseif($data_count['quotamount']=='5'){
			echo "<br>"."ด้าม";
		}elseif($data_count['quotamount']=='6'){
			echo "<br>"."แท่ง";
		}elseif($data_count['quotamount']=='7'){
			echo "<br>"."เล่ม";
		}elseif($data_count['quotamount']=='8'){
			echo "<br>"."แฟ้ม";
		}elseif($data_count['quotamount']=='9'){
			echo "<br>"."ม้วน";
		}elseif($data_count['quotamount']=='10'){
			echo "<br>"."ซอง";
		}elseif($data_count['quotamount']=='11'){
			echo "<br>"."ก้อน";
		}elseif($data_count['quotamount']=='12'){
			echo "<br>"."เครื่อง";
		}elseif($data_count['quotamount']=='13'){
			echo "<br>"."ห่อ";
		}elseif($data_count['quotamount']=='14'){
			echo "<br>"."แพ็ค";
			}
	}?></td>
      <td align="center" class="fontsmall1"><? $sql_eachprice = "select * from quotdetail where ref_quotid ='$id' ";
		$result_eachprice = mysql_query($sql_eachprice) ;
	
	while($data_eachprice= mysql_fetch_array($result_eachprice) )
	{
		echo "<br>".number_format($data_eachprice['quotprice'],2);
	}
	?></td>
      <td align="right" class="fontsmall1"><? $sql_price = "select * from quotdetail where itemid ='$data[itemid]' ";
		$result_price = mysql_query($sql_item) or die (mysql_error());
	while($data_price= mysql_fetch_array($result_price) )
	{
		$quotprice=$data_price['quotcount']*$data_price['quotprice'];
		echo "<br>".number_format($quotprice,2);
		
		}
		?></td>
    </tr>
  </table>
<? }
include'tailquot.php';
?>

  

</span>
<p>&nbsp;</p>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 18:33:17 By : chanwitwi
 


 

No. 5



โพสกระทู้ ( 24 )
บทความ ( 0 )



สถานะออฟไลน์


ตัวอย่างคับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2012-02-19 18:35:03 By : chanwitwi
 


 

No. 6



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
<? include('../Connections/conndb.php'); 

	echo'**ไฟล์ส่วนหัว**<br/>';

$sql ="select * from employee";
$result = mysql_query($sql);

///////// การวนลูปโดยใช้ while loop จากฐานข้อมูล
while ($array = mysql_fetch_array($result))
   { 

////// การวนลูปโดยใช้ for
for($i=1;$i<20;$i++){
	
	$page_print = $i;   /////รับค่าจากค่าที่วนลูป
//โดย for loop /// $array['id']; /// ใช้คำสั่งนี้เมื่อรับค่าจาก while loop
	$data_show = 5;////////////// จำนวนที่จะสั่งปริ้นต่อหน้า
	
	
	if($page_print%$data_show==0) 
{
	
	echo'**ไฟล์ส่วนท้าย**<br/>';

	echo "<div style='page-break-after: always'>";
	
	echo "</div>";
	
	echo'**ไฟล์ส่วนหัว**<br/>';

}

	//echo "ข้อมูลที่จะแสดงทั้งหมด<br/>";
	echo $array['Ename']."<br/>";

}
}
////จบการวนลูปข้อมูล

echo'**ไฟล์ส่วนท้าย**<br/>';

?>


ชื่อซ้ำต้องทำอย่างไรคะ

8-11-59-1

8-11-59-2
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-08 17:29:42 By : bsaranya
 


 

No. 7



โพสกระทู้ ( 4,720 )
บทความ ( 8 )



สถานะออฟไลน์


Code (PHP)
<? include('../Connections/conndb.php'); 

	echo'**ไฟล์ส่วนหัว**<br/>';

$sql ="select * from employee";
$result = mysql_query($sql);

///////// การวนลูปโดยใช้ while loop จากฐานข้อมูล
$i = 1;
while ($array = mysql_fetch_array($result)) { 
	
	$page_print = $i;   /////รับค่าจากค่าที่วนลูป
//โดย for loop /// $array['id']; /// ใช้คำสั่งนี้เมื่อรับค่าจาก while loop
	$data_show = 5;////////////// จำนวนที่จะสั่งปริ้นต่อหน้า
	
	
	if($page_print%$data_show==0) 
{
	
	echo'**ไฟล์ส่วนท้าย**<br/>';

	echo "<div style='page-break-after: always'>";
	
	echo "</div>";
	
	echo'**ไฟล์ส่วนหัว**<br/>';

}

	//echo "ข้อมูลที่จะแสดงทั้งหมด<br/>";
	echo $array['Ename']."<br/>";

	$i++;
}// endwhile;
////จบการวนลูปข้อมูล

echo'**ไฟล์ส่วนท้าย**<br/>';

?>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-09 06:20:45 By : mr.v
 


 

No. 8



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

ขอบคุณ mr.v มากเลยค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-10 11:17:50 By : bsaranya
 


 

No. 9



โพสกระทู้ ( 3,748 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์
Facebook

อุ้ย....เพิ่งเห็น กระทู้เราถูกดัน ไม่ทราบว่าได้กันหรือยังครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-11-10 14:57:57 By : Dragons_first
 


 

No. 10



โพสกระทู้ ( 102 )
บทความ ( 0 )



สถานะออฟไลน์
Facebook

Code (PHP)
<? include('../Connections/conndb.php'); 

	echo'**ไฟล์ส่วนหัว**<br/>';

$sql ="select * from employee";
$result = mysql_query($sql);

///////// การวนลูปโดยใช้ while loop จากฐานข้อมูล
$i = 1;
while ($array = mysql_fetch_array($result)) { 
	
	$page_print = $i;   /////รับค่าจากค่าที่วนลูป
//โดย for loop /// $array['id']; /// ใช้คำสั่งนี้เมื่อรับค่าจาก while loop
	$data_show = 5;////////////// จำนวนที่จะสั่งปริ้นต่อหน้า
	
	
	if($page_print%$data_show==0) 
{
	
	echo'**ไฟล์ส่วนท้าย**<br/>';

	echo "<div style='page-break-after: always'>";
	
	echo "</div>";
	
	echo'**ไฟล์ส่วนหัว**<br/>';

}

	//echo "ข้อมูลที่จะแสดงทั้งหมด<br/>";
	echo $i;
	echo $array['Ename']."<br/>";

	$i++;
}// endwhile;
////จบการวนลูปข้อมูล

echo'**ไฟล์ส่วนท้าย**<br/>';

?>


มันขึ้นหน้าแรก 4 คนค่ะ หน้าต่อไปถึงจะขึ้น5คน ต้องแก้ไขยังไงคะ
24-4-60
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 13:56:40 By : bsaranya
 


 

No. 11



โพสกระทู้ ( 266 )
บทความ ( 0 )



สถานะออฟไลน์


เปลี่ยน $i = 1; เป็น $i=0;

และเพิ่ม

&&$page_print!=0

ไว้ในเงื่อนไข

if($page_print%$data_show==0&&$page_print!=0) {
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-04-24 15:02:02 By : 9nonameman
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : เห็นมีปัญหากันเยอะ เลยเอามาแจก ระบบ แบ่งหน้าการปริ้น css page-break-after
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่