ช่วยด้วยครับ เรื่องการแบ่งหน้า

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยด้วยครับ เรื่องการแบ่งหน้า

ช่วยด้วยครับ เรื่องการแบ่งหน้า

 

<?php
$link=mysql_connect("localhost","root","25261983");
mysql_select_db("mydata");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Untitled Document</title>
<link href="page.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="highslide/highslide-with-gallery.js"></script>
<link rel="stylesheet" type="text/css" href="highslide/highslide.css" />
<script type="text/javascript">
hs.graphicsDir = 'highslide/graphics/';
hs.align = 'center';
hs.transitions = ['expand', 'crossfade'];
hs.outlineType = 'glossy-dark';
hs.wrapperClassName = 'dark';
hs.fadeInOut = true;
//hs.dimmingOpacity = 0.75;
// Add the controlbar
if (hs.addSlideshow) hs.addSlideshow({
	//slideshowGroup: 'group1',
	interval: 5000,
	repeat: false,
	useControls: true,
	fixedControls: 'fit',
	overlayOptions: {
		opacity: .6,
		position: 'bottom center',
		hideOnMouseOut: true
	}
});
</script>
</head>
<body>
<?php   
// สร้างฟังก์ชั่น สำหรับแสดงการแบ่งหน้า   
function page_navigator($before_p,$plus_p,$total,$total_p,$chk_page){   
	global $urlquery_str;
	$pPrev=$chk_page-1;
	$pPrev=($pPrev>=0)?$pPrev:0;
	$pNext=$chk_page+1;
	$pNext=($pNext>=$total_p)?$total_p-1:$pNext;		
	$lt_page=$total_p-4;
	if($chk_page>0){  
		echo "<a  href='?s_page=$pPrev&urlquery_str=".$urlquery_str."' class='naviPN'>Prev</a>";
	}
	if($total_p>=11){
		if($chk_page>=4){
			echo "<a $nClass href='?s_page=0&urlquery_str=".$urlquery_str."'>1</a><a class='SpaceC'>. . .</a>";   
		}
		if($chk_page<4){
			for($i=0;$i<$total_p;$i++){  
				$nClass=($chk_page==$i)?"class='selectPage'":"";
				if($i<=4){
				echo "<a $nClass href='?s_page=$i&urlquery_str=".$urlquery_str."'>".intval($i+1)."</a> ";   
				}
				if($i==$total_p-1 ){ 
				echo "<a class='SpaceC'>. . .</a><a $nClass href='?s_page=$i&urlquery_str=".$urlquery_str."'>".intval($i+1)."</a> ";   
				}		
			}
		}
		if($chk_page>=4 && $chk_page<$lt_page){
			$st_page=$chk_page-3;
			for($i=1;$i<=5;$i++){
				$nClass=($chk_page==($st_page+$i))?"class='selectPage'":"";
				echo "<a $nClass href='?s_page=".intval($st_page+$i)."'>".intval($st_page+$i+1)."</a> ";   	
			}
			for($i=0;$i<$total_p;$i++){  
				if($i==$total_p-1 ){ 
				$nClass=($chk_page==$i)?"class='selectPage'":"";
				echo "<a class='SpaceC'>. . .</a><a $nClass href='?s_page=$i&urlquery_str=".$urlquery_str."'>".intval($i+1)."</a> ";   
				}		
			}									
		}	
		if($chk_page>=$lt_page){
			for($i=0;$i<=4;$i++){
				$nClass=($chk_page==($lt_page+$i-1))?"class='selectPage'":"";
				echo "<a $nClass href='?s_page=".intval($lt_page+$i-1)."'>".intval($lt_page+$i)."</a> ";   
			}
		}		 
	}else{
		for($i=0;$i<$total_p;$i++){  
			$nClass=($chk_page==$i)?"class='selectPage'":"";
			echo "<a href='?s_page=$i&urlquery_str=".$urlquery_str."' $nClass  >".intval($i+1)."</a> ";   
		}		
	} 	
	if($chk_page<$total_p-1){
		echo "<a href='?s_page=$pNext&urlquery_str=".$urlquery_str."'  class='naviPN'>Next</a>";
	}
}   
?>
<table width="689" border="0">
  <tr>
    <td colspan="2"><?php


 $tb="productbcg";
 $q="SELECT * FROM $tb where pd_name like '%$txtSearch%'";
 mysql_query("SET NAMES utf8;");
 //$db_query=mysql_db_query($db,$q);
 $qr=mysql_query($q);
$total=mysql_num_rows($qr); /* นับ Reccord ที่พบ */
$e_page=20; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า   
if(!isset($_GET['s_page'])){   
	$_GET['s_page']=0;   
}else{   
	$chk_page=$_GET['s_page'];     
	$_GET['s_page']=$_GET['s_page']*$e_page;   
}   
$q.=" LIMIT ".$_GET['s_page'].",$e_page";
$qr=mysql_query($q);
if(mysql_num_rows($qr)>=1){   
	$plus_p=($chk_page*$e_page)+mysql_num_rows($qr);   
}else{   
	$plus_p=($chk_page*$e_page);       
}   
$total_p=ceil($total/$e_page);   
$before_p=($chk_page*$e_page)+1;  
?>
      <span class="browse_page">
      <?php   // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า   
 page_navigator($before_p,$plus_p,$total,$total_p,$chk_page);    
  ?>
      </span>
      <?php while($rs=mysql_fetch_array($qr)){?></td>
  </tr>
  <tr>
    <td colspan="2"><hr color="#FF0000" ></td>
</tr>
  <tr class="table">
    <td width="169" height="140" valign="top"><div align="center"><a href="myfile/<?=$rs["filedsname"];?>"class="highslide" onclick="return hs.expand(this)"><img src="myfile/<?=$rs["filedsname"];?>" width="165" height="142" border="1" alt="Highslide JS"title="Click to enlarge" /></a></div></td>
<td width="504"  > รหัส :<font color="#0000FF">
      <?=$rs['pd_code']?>
      <br />
      </font> ชื่อ : <font color="#0000FF">
        <?=$rs['pd_name']?>
        <br />
        </font> ยี่ห้อ : <font color="#0000FF">
      <?=$rs['brandname']?>
          <br />
          </font> ราคาปกติ : <font color="#0000FF">
            <?=$rs['price']?>
            <br />
            </font><font color="#000" > ราคาพิเศษ : </font><font color="#FF0000" >
              <?=$rs['price_pro']?>
              <br />
            </font><a href="sell.php" target="_parent"><img src="../Baanchanggroup/Images/imagess/user.gif" alt=""/></a></td>
  </tr>
<tr>
    <td colspan="2"><?php } ?>
      <?php if($total>0){ ?>
      <div class="browse_page">
        <?php   // เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า   
 page_navigator($before_p,$plus_p,$total,$total_p,$chk_page);    
  ?>
      </div>
      <?php } ?></td>
</tr>
</table>
</body>
</html>
คือ ผม search คำว่า 8*8 จากการ like '%8*8%' ได้ทั้งหมด 120 record สมมุติ มันโชว์ หน้าที่ 1 ขึ้น 20 รายการพอผมคลิกไปหน้า 2 มันไม่ใช่ข้อมูลการ Search 8*8 นะคับ record ที่ 21 - 120 ผมหายไปแง้ๆ กด back กับมาข้อมูล 8*8 ในหน้าแรกก็หายไปไหนไม่รู้

 



Littlearrow Thongprasert 10-08-2012 17:27:28

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ