code แบ่งหน้าคลิกหน้าต่อไปไม่ได้เพราะ ตัวแปร $_post ทำให้มันคำนวนผลใหม่
มันนับจำนวน record ถูกต้อง
แบ่งหน้าถูกต้อง
แต่ถ้าคลิกหน้าต่อไปมันขึ้น "กรุณาเลือกข้อมูลครับ"
เหมือนมันเริ่มคำนวนใหม่หมดโดยที่ไม่ได้ได้รับค่าตัวแปรมา
code หน้าแสดงผลการค้นหา resultday.php
Code (PHP)
<?
$d=$_POST[d];
$m=$_POST[m];
$Y=$_POST[Y];
$id_category=$_POST[id_category];
if($d=="" and $m==""){
echo "<h3>ERROR: กรุณาเลือกข้อมูลครับ</h3>";
exit();
}
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category'";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
echo "แสดงผลรายการที่ค้นหา
<table width='100%' border='1'>
<tr bgcolor='#1589FF'>
<td width='5%'><center><b>ลำดับ</b></center></td>
<td width='10%'><center><b>วันที่</b></center></td>
<td width='20%'><center><b>ประเภท</b></center></td>
<td width='21%'><center><b>รายละเอียด</b></center></td>
<td width='10%'><center><b>รายรับ</b></center></td>
<td width='10%'><center><b>รายจ่าย</b></center></td>
<td width='12%'><center><b>ชื่อลูกค้า</b></center></td>
<td width='12%'><center><b>ผู้รับเงิน/b></center></td>
</tr>";
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y order by id_money desc";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category' order by id_money desc";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
$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;
}
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y limit $Page_Start,$Per_Page";
$result=mysql_db_query($dbname,$sql);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category' limit $Page_Start,$Per_Page";
$result=mysql_db_query($dbname,$sql);
}
$intRows=1+(($Per_Page*$Page)-$Per_Page);
while($rs=mysql_fetch_array($result))
{
$id_money=$rs[id_money];
$code_money=sprintf("%05d",$id_money);
$date_data=$rs[date_data];
$id_category=$rs[id_category];
$detail=$rs[detail];
$value_rev=$rs[value_rev];
$value_exp=$rs[value_exp];
$customer=$rs[customer];
$name_admin=$rs[name_admin];
$sql2="select name_category from tb_category where id_category='$id_category'";
$result2=mysql_db_query($dbname,$sql2);
$rs2=mysql_fetch_array($result2);
$name_category=$rs2[name_category];
echo"
<tr>
<td>$intRows</td>
<td>$date_data</td>
<td>$name_category</td>
<td>$detail</td>
<td>$value_rev</td>
<td>$value_exp</td>
<td>$customer</td>
<td>$name_admin</td>
</tr>";
$intRows++;
}
echo "</table>";
mysql_close();
?>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href='resultday.php?Page=$Prev_Page' target='_self'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='resultday.php?Page=$i' target='_self'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo "<a href ='resultday.php?Page=$Next_Page' target='_self'> Next>></a> ";
}
?>
Tag : PHP
Date :
2011-02-25 14:08:26
By :
minamino
View :
1226
Reply :
7
ส่ง d m y ไปกับ resultday.php?Page ด้วย
แล้วใช้ $_REQUEST แทน $_POST
Date :
2011-02-25 15:34:52
By :
PlaKriM
มันไม่ค่อยจะเกี่ยวกันเลยนะว่ากด next ไม่ได้
หน้านี้มันเป็นหน้าผลลัพธ์ที่ได้จากการ post ข้อมูลมาจากหน้าที่แล้วใช่มั้ยครับ แล้วคุณเอาค่าที่ได้จากการโพสมาจากหน้าที่แล้วมาเป็นเงื่อนไข
ในการดึงข้อมูล เมื่อคุณคลิกลิงค์ใดๆในหน้านี้มันก็จะมีการตรวจสอบเสมอว่าคุณได้เลือกข้อมูลแล้วโพสมาหรือยัง เพื่อจะนำไปเป็นเงื่อนไขในการแสดงผล
ดังนั้นหากจะมีลิงค์ในหน้านี้เช่น ลิงค์หมายเลขหน้า หรืออะไรก็แล้วแต่คุณก็ต้อง ส่งตัวแปรที่ได้จากการโพสมาครั้งแรกไปด้วย
แล้วก็เปลี่ยนการรับค่าจาก $_POST[]=$_REQUEST[""] แทน มันจะได้รับค่าได้ทั้งสองแบบ หรือไม่ก็ให้ส่งมาแบบ Get ตั้งแต่แรกเลย
เพื่อมันจะได้มีเงื่อนไขไว้แสดงผลข้อมูลได้...
Date :
2011-02-25 15:37:22
By :
chineji
ผลคือผมเลือก id_category=% พอคลิกหน้าต่อไป id_category=3 เฉยเลย
แต่ถ้าเลือก id_category=(ตัวเลขอื่น) อันนี้ไมมีปัญหา
ผมแก้เป็นแบบนี้
Code (PHP)
<?
$d=$_REQUEST[d];
$m=$_REQUEST[m];
$Y=$_REQUEST[Y];
$id_category=$_REQUEST[id_category];
if($d=="" and $m==""){
echo "<h3>ERROR: กรุณาเลือกข้อมูลครับ</h3>";
exit();
}
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category'";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
echo "แสดงผลรายการที่ค้นหา
<table width='100%' border='1'>
<tr bgcolor='#1589FF'>
<td width='5%'><center><b>ลำดับ</b></center></td>
<td width='10%'><center><b>วันที่</b></center></td>
<td width='20%'><center><b>ประเภท</b></center></td>
<td width='21%'><center><b>รายละเอียด</b></center></td>
<td width='10%'><center><b>รายรับ</b></center></td>
<td width='10%'><center><b>รายจ่าย</b></center></td>
<td width='12%'><center><b>ชื่อลูกค้า</b></center></td>
<td width='12%'><center><b>ผู้รับเงิน</b></center></td>
</tr>";
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y order by id_money desc";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category' order by id_money desc";
$result=mysql_db_query($dbname,$sql);
$Num_Rows=mysql_num_rows($result);
}
$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;
}
if($id_category=="%"){
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y limit $Page_Start,$Per_Page";
$result=mysql_db_query($dbname,$sql);
}
else {
include "../banshee/connectbanshee.php";
$sql="select * from tb_money where day(date_data)=$d AND month(date_data)=$m AND year(date_data)=$Y AND id_category='$id_category' limit $Page_Start,$Per_Page";
$result=mysql_db_query($dbname,$sql);
}
$intRows=1+(($Per_Page*$Page)-$Per_Page);
while($rs=mysql_fetch_array($result))
{
$id_money=$rs[id_money];
$code_money=sprintf("%05d",$id_money);
$date_data=$rs[date_data];
$id_category=$rs[id_category];
$detail=$rs[detail];
$value_rev=$rs[value_rev];
$value_exp=$rs[value_exp];
$customer=$rs[customer];
$name_admin=$rs[name_admin];
$sql2="select name_category from tb_category where id_category='$id_category'";
$result2=mysql_db_query($dbname,$sql2);
$rs2=mysql_fetch_array($result2);
$name_category=$rs2[name_category];
echo"
<tr>
<td>$intRows</td>
<td>$date_data</td>
<td>$name_category</td>
<td>$detail</td>
<td>$value_rev</td>
<td>$value_exp</td>
<td>$customer</td>
<td>$name_admin</td>
</tr>";
$intRows++;
}
echo "</table>";
mysql_close();
?>
Total <?= $Num_Rows;?> Record : <?=$Num_Pages;?> Page :
<?
if($Prev_Page)
{
echo " <a href='resultday.php?d=$d&m=$m&Y=$Y&id_category=$id_category&Page=$Prev_Page' target='_self'><< Back</a> ";
}
for($i=1; $i<=$Num_Pages; $i++){
if($i != $Page)
{
echo "[ <a href='resultday.php?d=$d&m=$m&Y=$Y&id_category=$id_category&Page=$i' target='_self'>$i</a> ]";
}
else
{
echo "<b> $i </b>";
}
}
if($Page!=$Num_Pages)
{
echo "<a href ='resultday.php?d=$d&m=$m&Y=$Y&id_category=$id_category&Page=$Next_Page' target='_self'> Next>></a> ";
}
?>
Date :
2011-02-25 17:18:30
By :
minamino
มันเพี้ยนเพราะตรงนี้
$id_category=$rs[id_category];
Date :
2011-02-25 17:25:27
By :
PlaKriM
ทำไงดีครับ ถ้าเอา$id_category=$rs[id_category]; ออกข้อมูลส่วนนี้ในตารางมันหายอะครับ
Date :
2011-02-25 17:39:11
By :
minamino
เปลี่ยนชื่อตัวแปรซิครับพี่น้องคร๊าบบบ
Date :
2011-02-25 17:43:46
By :
PlaKriM
โอเคคร้าบ ได้ละครับ ขอบคุณหลายๆเด้อครับ
Date :
2011-02-25 17:57:42
By :
minamino
Load balance : Server 02