ผมได้ทำการเขียนโปรแกรมเพื่อแบ่งหน้า ตามภาพ
ซึ่งก็สามารถทำได้แล้วครับ
________________________________

________________________________
ทีนี้ผมติดปัญหาที่ว่า เมื่อทำแล้ว ขนาดข้อมูลก็ยังเท่าเดิม ไม่มีการแบ่งหน้าใดๆ
เป็นข้อมูลเดิมเลยครับ
(เมื่อคลิกหน้า 2)
(เมื่อคลิกหน้า 3)
______________________________
จะสังเกตว่า ตัวแบ่งหน้าไมม่ได้ช่วยอะไรเลย คลิกกี่หน้ายังคงเป็นข้อมูลเดิม และไม่มีการเปลี่ยนแปลงหน้า
และข้อมูลก็ยังเยอะเหมือนเดิม
ผมจึงอยากขอคำปรึกษาว่า ควรจะแก้ไขอย่างไรครับ
Code PHP
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form name="frmSearch" method="get" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
<table width="1092" border="1">
<tr>
<th width="1082">Keyword
<input name="txtKeyword" type="text" id="txtKeyword" value="">
<input type="submit" value="Search"></th>
</tr>
</table>
</form>
<?php
/*ส่วนติดต่อฐานข้อมูล */
error_reporting(0);
$txt=$_GET['txtKeyword'];
if($txt != "")
{
$db = "
DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = 1521)))(CONNECT_DATA=(SID=orcl)))" ;
$objConnect = oci_connect(,$db);
$strSQL = "SELECT ID_STUDENT,NAME_STUDENT,SURNAME_STUDENT,YEAR_STUDENT,ADDRESS_STUDENT,ID_DEPARTMENT,ID_FACULTY,ROOM_ID,ROOM_STATUS,APARTMENT_ID,ROW_NUMBER() OVER(ORDER BY ID_STUDENT,NAME_STUDENT,SURNAME_STUDENT,YEAR_STUDENT,ID_DEPARTMENT,ID_FACULTY,ROOM_ID,ROOM_STATUS,APARTMENT_ID ) AS ROWNO FROM ROOMSTU WHERE
(ID_STUDENT LIKE '%".$_GET['txtKeyword']."%' or NAME_STUDENT LIKE '%".$_GET['txtKeyword']."%' or SURNAME_STUDENT LIKE '%".$_GET['txtKeyword']. "%' or YEAR_STUDENT LIKE '%".$_GET['txtKeyword']. "%' or ID_DEPARTMENT LIKE '%".$_GET['txtKeyword']. "%' or ID_FACULTY LIKE '%".$_GET['txtKeyword']. "%' or ROOM_ID LIKE '%".$_GET['txtKeyword']. "%' or ROOM_STATUS LIKE '%".$_GET['txtKeyword']. "%' or APARTMENT_ID LIKE '%".$_GET['txtKeyword']. "%' )";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse);
$Num_Rows = oci_fetch_all($objParse, $Result);
$Per_Page = 2; // Per Page
if(!isset($_GET["Page"]))
{
$Page=1;
}
else
{
$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;
}
$Page_End = $Per_Page * $Page;
if ($Page_End > $Num_Rows)
{
$Page_End = $Num_Rows;
}
$Row_End = $Per_Page * $Page;
if($Row_End > $Num_Rows)
{
$Row_End = $Num_Rows;
}
?>
<table width="1111" border="1">
<tr>
<th width="154"> <div align="center">รหัสประจำตัวนักศึกษา </div></th>
<th width="86"> <div align="center">ชื่อนักศึกษา </div></th>
<th width="126"> <div align="center">นามสกุลนักศึกษา </div></th>
<th width="37"> <div align="center">ชั้นปี </div></th>
<th width="34"> <div align="center">ที่อยู่ </div></th>
<th width="88"> <div align="center">รูปภาพ</div></th>
<th width="165"> <div align="center">รหัสภาควิชา </div></th>
<th width="65"> <div align="center">รหัสคณะ </div></th>
<th width="58"> <div align="center">เลขห้อง </div></th>
<th width="99"> <div align="center">สถานะห้องพัก </div></th>
<th width="129"> <div align="center">หมายเลขหอพัก </div></th>
</tr>
<?php
$strSQL2 = "SELECT * FROM ($strSQL) C WHERE C.ROWNO > $Page_Start AND C.ROWNO <= $Row_End";
$objParse = oci_parse ($objConnect, $strSQL);
oci_execute ($objParse);
while($objResult = oci_fetch_array($objParse,OCI_ASSOC))
{
?>
<tr>
<td><div align="center"><?php echo $objResult["ID_STUDENT"];?></div></td>
<td><?php echo $objResult["NAME_STUDENT"];?></td>
<td><?php echo $objResult["SURNAME_STUDENT"];?></td>
<td><div align="center"><?php echo $objResult["YEAR_STUDENT"];?></div></td>
<td align="right"><?php echo $objResult["ADDRESS_STUDENT"];?></td>
<td align="right"><img src="<?php echo $objResult["PICTURE_STUDENT"];?>" height="85" width="88"/></img></td>
<td align="right"><?php echo $objResult["ID_DEPARTMENT"];?></td>
<td align="right"><?php echo $objResult["ID_FACULTY"];?></td>
<td align="right"><?php echo $objResult["ROOM_ID"];?></td>
<td align="right"><?php echo $objResult["ROOM_STATUS"];?></td>
<td align="right"><?php echo $objResult["APARTMENT_ID"];?></td>
</tr>
<?php
}
?>
</table>
<br>
Total <?php echo $Num_Rows;?> Record : <?php echo $Num_Pages;?> Page :
<?php
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=$_GET[txtKeyword]'>$i</a> ]";
}
else if($i==$Page)
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Num_Pages&txtKeyword=$_GET[txtKeyword]'>... Next>></a> ";
}
oci_close($objConnect);
}
?>
</body>
</html>
ขอคำปรึกษาครับ เรื่องการแบ่งหน้าใน PHP โดย Qurey ข้อมูลจาก Oracle SQL
ซึ่งก็สามารถทำได้แล้วครับ
________________________________
________________________________
ทีนี้ผมติดปัญหาที่ว่า เมื่อทำแล้ว ขนาดข้อมูลก็ยังเท่าเดิม ไม่มีการแบ่งหน้าใดๆ
เป็นข้อมูลเดิมเลยครับ
(เมื่อคลิกหน้า 2)
(เมื่อคลิกหน้า 3)
______________________________
จะสังเกตว่า ตัวแบ่งหน้าไมม่ได้ช่วยอะไรเลย คลิกกี่หน้ายังคงเป็นข้อมูลเดิม และไม่มีการเปลี่ยนแปลงหน้า
และข้อมูลก็ยังเยอะเหมือนเดิม
ผมจึงอยากขอคำปรึกษาว่า ควรจะแก้ไขอย่างไรครับ
Code PHP
[Spoil] คลิกเพื่อดูข้อความที่ซ่อนไว้