ช่วยด้วยครับ เรื่องการแบ่งหน้า
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ช่วยด้วยครับ เรื่องการแบ่งหน้า
ช่วยด้วยครับ เรื่องการแบ่งหน้า
Copy
<?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
คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา
โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ