|
|
|
จากบทความ PHP MySQL List Data Record Paging/Pagination (mysqli) |
|
|
|
|
|
|
|
Code (PHP)
$typeSearce = $_POST["searceType"];
$kaywordSearce = $_POST["kayword"];
// Searce by ID
if($typeSearce == 'id'){
if (empty($_GET["page"])) {
$curpage = 0;}
else {
$curpage = $_GET["page"]-1;}
$limit = 20;
$rec = $curpage * $limit ;
$totalrec = mysql_num_rows(mysql_query("select * from table where status = 'Y'"));
$totalpage = ($totalrec / $limit) ;
if (($totalrec % $limit)!=0) {
$totalpage++;}
$sql_id = "select* from table where status = 'Y' and idtype like '%".$kaywordSearce."%'";
$query_id = mysql_query($sql_id);
//$row = mysql_num_rows($query);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#c4c4c4">
<th width="50">ลำดับ</th>
<th align="left" width="300">ชื่อประเภท</th>
<th width="400" align="left">ลักษณะของประเภท</th>
<th width="100">สถานะ</th>
<th colspan="2" width="20">การปฏิบัติการ</th>
</tr>
<?
$countID=1;
while($record_id = mysql_fetch_array($query_id)){ ?>
<tr onmouseover="style.backgroundColor='#fffbcc'" onmouseout="style.backgroundColor='#FFF'">
<td align="center"><?=$countID?>.</td>
<td align="left"><?=$record_id[1];?></td>
<td align="left">
<?
if($record_id[type] == '001'){echo "ประเภทวัน";}
elseif($record_id[type]=='002'){echo"ประเภทกลุ่ม E-mail";}
elseif($record_id[type] == '003'){echo "ประเภทอุปกรณ์ที่แจ้งซ่อม";}
elseif($record_id[type] == '004'){echo "ประเภทจำแนกตามปัญหา";}
elseif($record_id[type] == '005'){echo "ประเภทกลุ่มปัญหาไอที";}
elseif($record_id[type] == '006'){echo "ประเภทกลุ่มการกำหนดรูปแบบเลขที่หนังสือ";}
?>
</td>
<td align="center"><? if($record_id[status] == "Y"){echo "ใช้งาน";}?></td>
<td align="center">
<img src="../../templates/intranet/images/icons/edit.gif" border="0" width="15">
<a href="?mod=front.attendace.typeconf.edit_attendance&ID=<?=$record_id[idtype]?>&createDate=<?=$record_id[createdate]?>&createBy=<?=$record_id[createby]?>">แก้ไข</a>
</td>
<td align="center">
<img src="../../templates/intranet/images/icons/delete.gif" border="0" width="15">
<a href="#" onclick="confirmDelete()">ลบ</a>
</td>
</tr>
<tr><td class="DetailsList" colspan="6"></td></tr>
<? $countID++ ;
}
$totle = $countID-1;
echo "<tr bgcolor='#e6e6e6' style='height:25px;'>
<td colspan=4 style='padding-left:4px;'>จำนวนทั้งหมด <b>$totle</b> รายการ</td>
<td colspan=2 align=right><span style='color:black;padding:4px 4px 4px 4px;'>หน้า
<a href='?mod=front.attendace.typeconf.attendance&page=1'></a></span> | ";
for ($i=1; $i<=$totalpage; $i++){
echo "<span class='linkpage'><a href='?mod=front.attendace.typeconf.attendance&page=$i' title='Page $i'>$i</a></span>"." | ";}
echo "</td></tr>";
?>
</table>
<?
ลองใช้ตัวนี้ดูน่ะครับ
[b][/b]
|
|
|
|
|
Date :
2014-10-10 08:18:21 |
By :
bunchuai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากบทความนั้น code เค้าแบ่งหน้าละ 2 แถว....ไม่มีอะไรผิด
1. ถ้าคุณแก้ per page = 2 ตามเค้า ข้อมูลที่ออกมาถูกต้องไหมครับ
- ถ้าถูกต้องแสดงว่า code ไม่มีปัญหาแน่ ๆ
- ถ้าข้อมูลที่ยังไม่ถูกต้อง คุณก็ต้องไล่ code ว่า คุณได้ไปแก้อะไรที่ต่างจากบทความไหม ลองทำ code ให้กลับเหมือนบทความ
2. ถ้าคุณแก้ ก็ต้อง เห็น code ที่คุณแก้ไช คุณได้ปรับเปลี่ยนสิ่งใดบ้าง แนะนำให้กลับไปอ่านข้อ 1 ครับ
|
|
|
|
|
Date :
2014-10-10 11:32:49 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปรับตาม Code เดิมๆ เป็นเหมือนเดิมครับ ใช้ Code ต้นฉบับ เลยครับ
ในตัวอย่างมีข้อมูลในฐานข้อมูล 4 แถว
ผมบันทึกข้อมูลเพิ่มเข้าไปทั้งหมด 12 แถว
ปรับเป็น 2 แถว
หน้าที่ 1 ขึ้น 2 แถว
หน้าที่ 2 ขึ้น 4 แถว
หน้าที่ 3 ขึ้น 6 แถว
Code ที่ใช้ครับ
Code (PHP)
<html>
<head>
<title>ThaiCreate.Com PHP & MySQL (mysqli)</title>
</head>
<body>
<?php
ini_set('display_errors', 1);
error_reporting(~0);
$serverName = "localhost";
$userName = "root";
$userPassword = "xxxxx";
$dbName = "mydatabase";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM customer";
$query = mysqli_query($conn,$sql);
$num_rows = mysqli_num_rows($query);
$per_page = 2; // Per Page
$page = 1;
if(isset($_GET["Page"]))
{
$page = $_GET["Page"];
}
$prev_page = $page-1;
$next_page = $page+1;
$row_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;
}
$row_end = $per_page * $page;
if($row_end > $num_rows)
{
$row_end = $num_rows;
}
$sql .= " ORDER BY CustomerID ASC LIMIT $row_start ,$row_end ";
$query = mysqli_query($conn,$sql);
?>
<table width="700" border="1">
<tr>
<th width="87"> <div align="center">CustomerID </div></th>
<th width="138"> <div align="center">Name </div></th>
<th width="189"> <div align="center">Email </div></th>
<th width="104"> <div align="center">CountryCode </div></th>
<th width="69"> <div align="center">Budget </div></th>
<th width="73"> <div align="center">Used </div></th>
</tr>
<?php
while($result=mysqli_fetch_array($query,MYSQLI_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $result["CustomerID"];?></div></td>
<td><?php echo $result["Name"];?></td>
<td><?php echo $result["Email"];?></td>
<td><div align="center"><?php echo $result["CountryCode"];?></div></td>
<td align="right"><?php echo $result["Budget"];?></td>
<td align="right"><?php echo $result["Used"];?></td>
</tr>
<?php
}
?>
</table>
<br>
Total <?php echo $num_rows;?> Record : <?php echo $num_pages;?> Page :
<?php
if($prev_page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$prev_page'><< Back</a> ";
}
for($i=1; $i<=$num_pages; $i++){
if($i != $page)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($page!=$num_pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$next_page'>Next>></a> ";
}
$conn = null;
?>
</body>
</html>
|
|
|
|
|
Date :
2014-10-10 12:28:53 |
By :
frogman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
if (empty($_GET["page"])) {
$curpage = 0;}
else {
$curpage = $_GET["page"]-1;}
$limit = 20; //กำหนดว่าต้องการให้แสดงกี่ Rows
$rec = $curpage * $limit ;
$totalrec = mysql_num_rows(mysql_query("select * from table where status = 'Y'"));
$totalpage = ($totalrec / $limit) ;
if (($totalrec % $limit)!=0) {
$totalpage++;}
$sql_id = "select* from table where status = 'Y' order by id desc limit $limit";
$query_id = mysql_query($sql_id);
//$row = mysql_num_rows($query);
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr bgcolor="#c4c4c4">
<th width="50">ลำดับ</th>
<th align="left" width="300">ชื่อประเภท</th>
<th width="400" align="left">ลักษณะของประเภท</th>
<th width="100">สถานะ</th>
<th colspan="2" width="20">การปฏิบัติการ</th>
</tr>
<?
$countID=1;
while($record_id = mysql_fetch_array($query_id)){ ?>
<tr onmouseover="style.backgroundColor='#fffbcc'" onmouseout="style.backgroundColor='#FFF'">
<td align="center"><?=$countID?>.</td>
<td align="left"><?=$record_id[1];?></td>
<td align="left">><?=$record_id[1];?></td>
<td align="center"><? if($record_id[status] == "Y"){echo "ใช้งาน";}?></td>
<td align="center">
<a href="#">แก้ไข</a>
</td>
<td align="center">
<a href="#">ลบ</a>
</td>
</tr>
<?$totle = $countID;
$countID++ ;
}
echo "<tr bgcolor='#e6e6e6' style='height:25px;'>
<td colspan=4 style='padding-left:4px;'>จำนวนทั้งหมด <b>$totle</b> รายการ</td>
<td colspan=2 align=right><span style='color:black;padding:4px 4px 4px 4px;'>หน้า
<a href='?mod=front.attendace.typeconf.attendance&page=1'></a></span> | ";
for ($i=1; $i<=$totalpage; $i++){
echo "<span class='linkpage'><a href='?mod=front.attendace.typeconf.attendance&page=$i' title='Page $i'>$i</a></span>"." | ";}
echo "</td></tr>";
?>
ลองเอาไปแก้ดูครับเปลี่ยนแค่ Query กับ Results ของ while loop แค่นั้นเองครับ ลองดูครับ
|
|
|
|
|
Date :
2014-10-10 13:14:31 |
By :
bunchuai |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณครับ...คุณ Bunchuai..
ผมใช้ Code PHP MYSQLi
|
|
|
|
|
Date :
2014-10-11 08:54:44 |
By :
frogman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วกระทู้นี้ แก้ได้ยังครับ...ผมก็เป็นเหมือนกัน.....หาทางแก้ไม่เจอ..
|
|
|
|
|
Date :
2015-08-28 13:04:45 |
By :
dongjar |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<?php
$serverName = "localhost";
$userName = "root";
$userPassword = "precious";
$dbName = "ดาต้าเบส";
$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
$sql = "SELECT * FROM products WHERE CODE LIKE '%".$strKeyword."%' ";
$query = mysqli_query($conn,$sql);
$num_rows = mysqli_num_rows($query);
$per_page = 3; // Per Page
$first_page = 1;
$page = 1;
if(isset($_GET["Page"]))
{
$page = $_GET["Page"];
}
$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;
}
$sql .= " ORDER BY CODE ASC LIMIT $page_start ,$per_page ";
$query = mysqli_query($conn,$sql);
?>
|
|
|
|
|
Date :
2020-11-11 14:05:41 |
By :
โอม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Total <?php echo $num_rows;?> Record : <?php echo $num_pages;?> Pages : <BR>
<?php
if($prev_page)
{
echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$first_page&txtKeyword=$strKeyword'><< First Page</a> ";
}
for($i=1; $i<=$num_pages; $i++){
$page1 = $page-2;
$page2 = $page+2;
if($i != $page && $i >= $page1 && $i <= $page2)
{
echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$strKeyword'>$i</a> ]";
}
elseif($i==$page)
{
echo "<b> $i </b>";
}
}
if($page!=$num_pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$num_pages&txtKeyword=$strKeyword'> Last Page>></a> ";
}
$conn = null;
?>
|
|
|
|
|
Date :
2020-11-11 14:26:09 |
By :
โอม |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 02
|