อยากสอบถามพี่ๆเกี่ยวกับ PHP MySQL List Record Paging/Pagination หน่อยครับผม
ตอนนี้ผมนำโค้ดจากบทความ https://www.thaicreate.com/community/php-mysql-pagination.html มาทดลองใช้แต่เกิดปัญหาตรงเมื่อกดดูข้อมูลในหน้าที่2มันไม่สามารถดูขอมูลได้ครับ
ตอนกดมาดูข้อมูลผมส่งค่า id ด้วยโค้ดนี้
Code (PHP)
<a href="3.10.1historyyeumkuen.php?userid=<?=$objResult["userid"];?>">ดูประวัติยืม-คืน</a>
เมื่อกดเข้ามาหน้าข้อมูลหน้าแรกสามารถโชว์ข้อมูลได้ปกติครับจากรูปมีข้อมูลทั้งหมด11รายการแต่โชว์ในหน้าแรก10รายการแล้วเหลืออีก1รายการให้ไปโชว์หน้าที่2
รูปนี้เป็นรูปเมื่อกดหน้าที่2เพื่อที่จะดูข้อมูลแต่เหมือนไม่มีการส่งค่าหรือข้อมูลมาเลย
นี้โค้ดหน้าแสดงข้อมูลทั้งหมด ยาวหน่อยนะครับ
Code (PHP)
<?php
<?
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="840" border="0" align="center" bgcolor="#FFFFFF">
<tr bgcolor="#CCCCCC">
<td width="210" valign="top">
<div id='cssmenu'>
<ul>
<li class='active'><a href='3.1Adminhome.php'><span>ประชาสัมพันธ์</span></a></li>
<li><a href='3.2AdminRegismember1.php'><span>ลงทะเบียนสมาชิก</span></a></li>
<li><a href='3.3approveregismember.php'><span>อนุมัติการลงทะเบียนของสมาชิก</span></a></li>
<li><a href='3.5AdminMemberdata.php'><span>ข้อมูลสมาชิก</span></a></li>
<li><a href='3.6.1AdminbookdataADD.php'><span>ลงทะเบียนข้อมูลทรัพยากร</span></a></li>
<li><a href='3.6Adminbookdata.php'><span>ข้อมูลทรัพยากร</span></a></li>
<li><a href='3.7Adminyermkuenmembersearch.php'><span>ทำรายการยืม - คืน</span></a></li>
<li><a href='3.10Adminyermkuendata.php'><span>ข้อมูลการยืม - คืน</span></a></li>
<li class='has-sub'><a href='3.11AdminSearchNormal.php'><span>สืบค้นทรัพยากร</span></a></li>
<li class='has-sub'><a href='3.13AdminReport.php'><span>พิมพ์รายงาน</span></a></li>
</ul>
</div>
</td>
<td align="center" valign="top">
<?
$strSQL = "SELECT * FROM memberdata inner join majordata on memberdata.majorid = majordata.majorid WHERE userid = '".$_GET["userid"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<table width="100%" border="0" bgcolor="#CCCCCC">
<tr>
<td height="40" align="center" bgcolor="#999999"><font size="+2" color="#FFFFFF">ข้อมูลสมาชิก</font></td>
</tr>
</table>
<table width="100%" border="0" bgcolor="#FFCC66">
<tr>
<td align="center">
<table border="0" bgcolor="#999999">
<tr>
<td><img src="mempic/<?=$objResult["mempic"];?>" width="100" height="120"/></td>
</tr>
</table>
</td>
</tr>
</table>
<table width="100%" border="0" bgcolor="FFFFFF">
<tr>
<td width="26%"> รหัสสมาชิก</td>
<td width="74%"> <?=$objResult["userid"];?></td>
</tr>
<tr>
<td> ชื่อ-นามสกุล</td>
<td> <?=$objResult["titlename"];?> <?=$objResult["fname"];?> <?=$objResult["lname"];?></td>
</tr>
<tr>
<td> เพศ</td>
<td> <?=$objResult["sex"];?></td>
</tr>
<tr>
<td> สาขา</td>
<td> <?
if($objResult["memberdata.majorid"] = "majordata.majorid")
{
echo $objResult["majorname"];
}
else
{
echo "";
}
?>
</td>
</tr>
<tr>
<td> E-mail</td>
<td> <?=$objResult["email"];?></td>
</tr>
<tr>
<td> สิทธิ์การยืมทรัพยากร</td>
<td> <?=$objResult["permission"];?></td>
</tr>
</table>
</br>
<?
$strSQL = "SELECT * FROM yeumkuendata WHERE userid = '".$_GET['userid']."' ";
$objQuery = mysql_query($strSQL);
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // 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 ykid asc LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="100%" border="0" bgcolor="#CCCCCC">
<tr>
<td height="40" align="center" bgcolor="#999999"><font size="+2" color="#FFFFFF">ประวัติ ยืม - คืน </font></td>
</tr>
</table>
<table width="100%" border="0" bgcolor="#000000">
<tr align="center" bgcolor="#990000">
<td height="35"><font size="+1" color="#FFFFFF">รหัสยืม-คืน</font></td>
<td><font size="+1" color="#FFFFFF">รหัสสมาชิก</font></td>
<td><font size="+1" color="#FFFFFF">เลขทะเบียนหนังสือ</font></td>
<td><font size="+1" color="#FFFFFF">วันที่ยืม</font></td>
<td><font size="+1" color="#FFFFFF">วันที่กำหนดคืน</font></td>
<td><font size="+1" color="#FFFFFF">วันที่คืน</font></td>
<td><font size="+1" color="#FFFFFF">สถานะยืม-คืน</font></td>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr align="center" bgcolor="#FFFFFF">
<td height="29"><font size="-1"><?=$objResult["ykid"];?></font></td>
<td><font size="-1"><?=$objResult["userid"];?></font></td>
<td><font size="-1"><?=$objResult["numberid"];?></font></td>
<td><font size="-1"><? $char=$objResult['dateborrow'];
$show=explode("-",$char);
echo"".$show[2]."-".$show[1]."-".$show[0]."";
?>
</font>
</td>
<td><font size="-1"><? $char=$objResult['datesetreturn'];
$show=explode("-",$char);
echo"".$show[2]."-".$show[1]."-".$show[0]."";
?>
</font>
</td>
<td><font size="-1"><? $char=$objResult['datereturn'];
$show=explode("-",$char);
echo"".$show[2]."-".$show[1]."-".$show[0]."";
?>
</font>
</td>
<td><font size="-1"><?=$objResult["statusyk"];?></font></td>
</tr>
<?
}
?>
</table>
<br>
Total <?php echo $Num_Rows;?> Record
<?php
$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
$pages->paginate();
echo $pages->display_pages()
?>
</br>
<?
$strSQL = "SELECT * FROM memberdata inner join majordata on memberdata.majorid = majordata.majorid WHERE userid = '".$_GET["userid"]."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
?>
<font size="+3" color="#FF0000"><?=$objResult["titlename"];?> <?=$objResult["fname"];?> <?=$objResult["lname"];?> ยังมีรายการค้างคืนทั้งหมด
<?
$strSQL = "SELECT * FROM yeumkuendata WHERE userid = '".$_GET["userid"]."' AND statusyk = 'ยังไม่คืน' ";
$objQuery = mysql_query($strSQL);
$numyuem = mysql_num_rows($objQuery);
echo $numyuem;
?> รายการ</font>
</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-21 19:37:10
Date :
2016-10-21 17:25:08
By :
sephiroht
View :
1287
Reply :
6
คือคุณต้องส่ง userid ไปกับลิงค์ด้วยอะครับ
$pages->url_next = $_SERVER["PHP_SELF"]."?userid=<?=$objResult["userid"];?>&Page=";
น่าจะประมาณนี้ เพราะผมก็ไม่เคยใช้ Paginator
อธิบายเสริมความเห็น 3
บันทัดที่ 377
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
parammeter QueryString=value มันเป็นค่าสมมติ คุณต้องเปลี่ยนตรงนี้ให้ มีเค่าของข้อมูลที่คูณจะใช้
ในการส่งค่า คุณลองคิดดูว่า ตัวแปรชื่อ QueryString มีค่าเป็น value มันเอาไปใช้ทำอะไร
ในหน้าเพจของคุณต้องการอะไรก็ใส่เข้าไปแทนครับเช่น
userid=$userid (ตัวอย่างเหมือนกัน เอาไปใช้ตรงๆเหมือนกันเด๊ะก็เออเร่อร์)
txtKeyword=คำที่ใช้ค้นหา (ตัวอย่างเหมือนกัน เอาไปใช้ตรงๆเหมือนกันเด๊ะก็เออเร่อร์)
คุณต้องประยุกต์ใช้ว่าโปรแกรมคุณต้องการ parameterอะไรบ้าง ก็เปลี่ยนแปลงแก้ไขให้เป็นของคุณ
Date :
2016-10-22 02:04:01
By :
Chaidhanan
ตอนนี้ทำได้แล้วครับผมได้เพื่อนมาช่วยดูให้ครับ ขอบคุณทุกคนมากเลยครับผม
Code (PHP)
$userid = $_GET[userid];
$pages->url_next = $_SERVER["PHP_SELF"]."?userid=".$userid."&Page=";
Date :
2016-10-22 15:11:10
By :
sephiroht
Load balance : Server 00