สอบถามพี่ๆเรื่องการเลี่ยงเลขลำดับตอนกดดูข้อมูลหน้า 2ขึ้นไปหน่อยครับข้อมูลไม่เรียง 6789 แต่เรียง 12345 เหมือนหน้าแรก ใช้ ตัวแบ่งหน้า List Record Paging/Pagination
สอบถามพี่ๆเรื่องการเลี่ยงเลขลำดับตอนกดดูข้อมูลหน้า 2ขึ้นไปหน่อยครับข้อมูลไม่เรียง 6789 แต่เรียง 12345 เหมือนหน้าแรก ใช้ ตัวแบ่งหน้า List Record Paging/Pagination
รูปภาพที่หน้าที่2ครับ มันเรียงเลข 12345ใหม่ไม่เรียง678910
นี้โค้ดครับไม่รู้จะตัดส่วนไหนมาให้ดู เลยขอใส่โค้ดทั้งหมดเลยนะครับ
รบกวนช่วยดูให้หน่อยนะครับ ขอบคุณครับผม
Code (PHP)
<?php
class Paginator{
var $items_per_page;
var $items_total;
var $current_page;
var $num_pages;
var $mid_range;
var $low;
var $high;
var $limit;
var $return;
var $default_ipp;
var $querystring;
var $url_next;
function Paginator()
{
$this->current_page = 1;
$this->mid_range = 7;
$this->items_per_page = $this->default_ipp;
$this->url_next = $this->url_next;
}
function paginate()
{
if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
$this->num_pages = ceil($this->items_total/$this->items_per_page);
if($this->current_page < 1 Or !is_numeric($this->current_page)) $this->current_page = 1;
if($this->current_page > $this->num_pages) $this->current_page = $this->num_pages;
$prev_page = $this->current_page-1;
$next_page = $this->current_page+1;
if($this->num_pages > 10)
{
$this->return = ($this->current_page != 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"".$this->url_next.$this->$prev_page."\">« Previous</a> ":"<span class=\"inactive\" href=\"#\">« Previous</span> ";
$this->start_range = $this->current_page - floor($this->mid_range/2);
$this->end_range = $this->current_page + floor($this->mid_range/2);
if($this->start_range <= 0)
{
$this->end_range += abs($this->start_range)+1;
$this->start_range = 1;
}
if($this->end_range > $this->num_pages)
{
$this->start_range -= $this->end_range-$this->num_pages;
$this->end_range = $this->num_pages;
}
$this->range = range($this->start_range,$this->end_range);
for($i=1;$i<=$this->num_pages;$i++)
{
if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
{
$this->return .= ($i == $this->current_page And $_GET['Page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"".$this->url_next.$i."\">$i</a> ";
}
if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
}
$this->return .= (($this->current_page != $this->num_pages And $this->items_total >= 10) And ($_GET['Page'] != 'All')) ? "<a class=\"paginate\" href=\"".$this->url_next.$next_page."\">Next »</a>\n":"<span class=\"inactive\" href=\"#\">» Next</span>\n";
}
else
{
for($i=1;$i<=$this->num_pages;$i++)
{
$this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"".$this->url_next.$i."\">$i</a> ";
}
}
$this->low = ($this->current_page-1) * $this->items_per_page;
$this->high = ($_GET['ipp'] == 'All') ? $this->items_total:($this->current_page * $this->items_per_page)-1;
$this->limit = ($_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
}
function display_pages()
{
return $this->return;
}
}
?>
<?
session_start();
include('condb.php');
$strSQL = "SELECT * FROM memberdata WHERE userid = '".$_SESSION['userid']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<?
session_start();
if(!isset($_SESSION['userid']) || $_SESSION['userid']==""){
header("Location:1.1Login.php");
exit;
}
?>
<?
session_start();
if(!isset($_SESSION['status']) || $_SESSION['status']=="รออนุมัติ"){
session_destroy();
header("Location:1.1Login.php");
exit;
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ห้องแหล่งเรียนรู้ คณะวิทยาการจัดการ มหาวิทยาลัยราชภัฏสงขลา</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/styles.css">
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
<script src="css/script.js"></script>
<style type="text/css">
body,td,th {
font-size: 16px;
}
body {
margin-top: 0px;
margin-bottom: 0px;
margin-left: 0px;
margin-right: 0px;
background-image: url(images/052.jpg);
}
</style>
</head>
<style type="text/css">
<!--
.paginate {
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
}
a.paginate {
border: 1px solid #000080;
padding: 2px 6px 2px 6px;
text-decoration: none;
color: #000080;
}
h2 {
font-size: 12pt;
color: #003366;
}
h2 {
line-height: 1.2em;
letter-spacing:-1px;
margin: 0;
padding: 0;
text-align: left;
}
a.paginate:hover {
background-color: #000080;
color: #FFF;
text-decoration: underline;
}
a.current {
border: 1px solid #000080;
font: bold .7em Arial,Helvetica,sans-serif;
padding: 2px 6px 2px 6px;
cursor: default;
background:#000080;
color: #FFF;
text-decoration: none;
}
span.inactive {
border: 1px solid #999;
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
padding: 2px 6px 2px 6px;
color: #999;
cursor: default;
}
-->
</style>
<body>
<table width="98%" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td>
<img src="images/Banner.jpg" width="100%" />
</td>
</tr>
</table>
<table width="98%" height="27" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td height="27" align="right" bgcolor="#FF9933">
<table width="20%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="right"><?=$objResult["titlename"];?> <?=$objResult["fname"];?> <?=$objResult["lname"];?>
<a href="logout.php" onClick="return confirm('กรุณายืนยันการออกจากระบบอีกครั้ง')">Logout </a> </td>
</tr>
</table>
</td>
</tr>
</table>
<table width="98%" height="543" border="0" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#CCCCCC">
<td width="120" height="541" valign="top">
<div id='cssmenu'>
<ul>
<li class='active'><a href='2.1Memberhome.php'><span>ประชาสัมพันธ์</span></a></li>
<li class='has-sub'><a href='2.2Memberdata.php'><span>ข้อมูลสมาชิก</span></a></li>
<li class='has-sub'><a href='2.4Memberyermkeundata.php'><span>ประวัติการยืม - คืน</span></a> </li>
<li class='has-sub'><a href='2.5SearchNomal.php'><span>สืบค้นทรัพยากร</span></a></li>
</ul>
</div>
</td>
<td width="652" align="center" valign="top">
<p> </p>
<form name="frmSearch" method="get" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<table width="80%" border="0" bgcolor="#000000">
<tr bgcolor="#FFCCCC">
<td height="40" align="center"><font size="+1" color="#990000">สืบค้นทรัพยากรจาก Keyword</font><font size="+1" color="#990000"> (เลขทะเบียนหนังสือ,ชื่อหนังสือ)</font>
<input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_GET["txtKeyword"];?>">
<input type="submit" value="ค้นหา"></td>
</tr>
</table>
</form>
<?
if($_GET["txtKeyword"] != "")
{
$strSQL = "SELECT * FROM bookdata inner join typedata on bookdata.typeid = typedata.typeid WHERE (namebook LIKE '%".$_GET["txtKeyword"]."%' or numberid LIKE '%".$_GET["txtKeyword"]."%' ) ";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 5; // Per Page
$Page = $_GET["Page"];
if(!$_GET["Page"])
{
$Page=1;
}
$Prev_Page = $Page-1;
$Next_Page = $Page+1;
$Page_Start = (($Per_Page*$Page)-$Per_Page);
if($Num_Rows<=$Per_Page)
{
$Num_Pages =1;
}
else if(($Num_Rows % $Per_Page)==0)
{
$Num_Pages =($Num_Rows/$Per_Page) ;
}
else
{
$Num_Pages =($Num_Rows/$Per_Page)+1;
$Num_Pages = (int)$Num_Pages;
}
$strSQL .=" order by numberid asc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="100%" border="0" bgcolor="#000000">
<tr align="center" bgcolor="#990000">
<td width="5%" height="35"><font size="+0" color="#FFFFFF">ลำดับที่</font></td>
<td width="5%" align="center" valign="middle"><font size="+0" color="#FFFFFF">รูปภาพ</font></td>
<td width="13%"><font size="+0" color="#FFFFFF">เลขทะเบียนหนังสือ</font></td>
<td width="12%"><font size="+0" color="#FFFFFF">หมวดหมู่หนังสือ</font></td>
<td width="27%"><font size="+0" color="#FFFFFF">ชื่อหนังสือ</font></td>
<td width="6%"><font size="+0" color="#FFFFFF">ประเภท</font></td>
<td width="4%"><font size="+0" color="#FFFFFF">จำนวน</font></td>
<td width="5%"><font size="+0" color="#FFFFFF">สถานะ</font></td>
<td width="9%"><font size="+0" color="#FFFFFF">ดูรายละเอียด</font></td>
</tr>
<?
$i = 1;
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr align="center" bgcolor="#FFFFFF">
<td height="29"><font size="-1">
<?
print($i." ");
$i++;
?>
</font></td>
<td>
<table border="0" bgcolor="#999999">
<tr>
<td><img src="bookpic/<?=$objResult["bookpic"];?>" width="60" height="70"/></td>
</tr>
</table>
</td>
<td align="left"><font size="-1"> <?=$objResult["numberid"];?></font></td>
<td align="left"><font size="-1"> <?=$objResult["category_book"];?></font></td>
<td align="left"><font size="-1"> <?=$objResult["namebook"];?></font></td>
<td align="center">
<font size="-1"><?
if($objResult["bookdata.typeid"] = "typedata.typeid")
{
echo $objResult["typename"];
}
else
{
echo "";
}
?>
</font>
<td align="center"><font size="-1"><?=$objResult["numberbook"];?></font></td>
<td align="center"><font size="-1"><? if($objResult["numberbook"] == "0")
{
echo ยืมไม่ได้;
}
else
{
echo ยืมได้;
}
?></font>
</td>
<td align="center"><font size="-1"><a href="2.5.1Searchbookdetailmember.php?numberid=<?=$objResult["numberid"];?>">ดูรายละเอียด</a></font></td>
</tr>
<?
}
?>
</table>
<p><br>
ทั้งหมด <?php echo $Num_Rows;?> รายการ หน้า
<?php
$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$txtKeyword = $_GET[txtKeyword];
$pages->url_next = $_SERVER["PHP_SELF"]."?txtKeyword=".$txtKeyword."&Page=";
$pages->paginate();
echo $pages->display_pages()
?>
<?
}
?>
</td>
<td width="70">
<table border="0" width="100%" height="100%">
<tr height="80">
<td height="84" align="center">
<a href="http://www.skru.ac.th/post/index.html"><img src="images/logo-skur.jpg" width="100%" height="120" />
</a>
</td>
</tr>
<tr height="80">
<td height="107" align="center">
<a href="http://mgt.skru.ac.th/"><img src="images/logo-gt.jpg" width="100%" height="130" />
</a>
</td>
</tr>
<tr height="80">
<td height="84" align="center">
<a href="http://std-aff.skru.ac.th/snk/"><img src="images/กอง.jpg" width="100%" height="80" />
</a>
</td>
</tr>
<tr height="80">
<td height="95" align="center">
<a href="http://www.skru.ac.th/department-new.php"><img src="images/หน่วยงานภายใน.PNG" width="100%" height="91" />
</a>
</td>
</tr>
<tr height="80">
<td height="84" align="center" bgcolor="#CCCCCC">
<a href="http://reg.skru.ac.th/registrar/home.asp"><img src="images/reg.png" width="100%" height="80" />
</a>
</td>
</tr>
<tr height="80">
<td height="84" align="center" bgcolor="#CCCCCC">
<a href="http://lms.skru.ac.th/"><img src="images/lmsnew.png" width="100%" height="80" />
</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
<table width="98%" height="112" border="0" align="center" bgcolor="#FFFFFF">
<tr>
<td height="110" align="left" valign="top" bgcolor="#FF9933">
<font size="+1" color="#000000"> มหาวิทยาลัยราชภัฏสงขลา<br />
160 หมู่ 4 ถนนกาญจนวนิช ตำบลเขารูปช้าง อำเภอเมือง จังหวัดสงขลา รหัสไปรษณีย์ 90000<br />
เลขประจำตัวผู้เสียภาษี 0-9940-00580-00-2 <br />
โทรศัพท์ 0-7426-0200-4 โทรสาร » 0-7432-4221<br />
E-MAIL : [email protected] URL : http://www.skru.ac.th</font></td>
</tr>
</table>
</body>
</html>
Tag : PHP, MySQL, HTML/CSS, JavaScript
ประวัติการแก้ไข 2016-10-24 14:19:20
Date :
2016-10-23 23:57:25
By :
sephiroht
View :
1024
Reply :
6
เอาโค๊ดอะไรมาโชว์ครับ มันคนละตัว กับภาพที่เอามาโชว์
ในภาพมีลำดับที่ แต่โค๊ดไม่มีลำดับที่
Date :
2016-10-24 08:49:56
By :
Chaidhanan
เป็นเพราะบรรทัดที่ 227
$i = 1;
ก็เลยทำให้ ไม่ว่าจะเปลี่ยนไปหน้าไหน ก็จะเริ่มที่ 1 ทุกครั้ง
ต้องเปลี่ยนให้ $i = ลำดับเริ่มต้นของหน้าปัจจุบันครับ
Date :
2016-10-24 14:35:37
By :
{Cyberman}
ได้แล้วครับผมขอบคุณมากครับ
Code (PHP)
<?
$i = 1;
if($Page > 1)
{
$i = ($Per_Page * ($Page-1)) + 1;
}
while($objResult = mysql_fetch_array($objQuery))
{
?>
ประวัติการแก้ไข 2016-10-24 15:38:21
Date :
2016-10-24 14:47:39
By :
sephiroht
ปกติใช้เลขเดียวกับลำดับเริ่มต้นใน SQL นะครับ ส่วนของ LIMIT
$i = $Page_Start + 1;
Date :
2016-10-24 15:41:55
By :
{Cyberman}
Load balance : Server 00