Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > พี่ครับผมมีเรื่องที่อยากถามหน่อยผมอยากรู้ประดับความรู้เรื่อง code แบ่งเพจนะครับ



 

พี่ครับผมมีเรื่องที่อยากถามหน่อยผมอยากรู้ประดับความรู้เรื่อง code แบ่งเพจนะครับ

 



Topic : 069005



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์




พี่ครับผมมีเรื่องที่อยากถามหน่อยผมอยากรู้ประดับความรู้เรื่อง code แบ่งเพจนะครับ
code นี้ผมทำแบ่งเพจได้แล้วนะครับ ดึงมาจากฐานข้อมูลมาโชว์แต่ปัญหาคือ เวลาผมต้องการให้โชว์ไม่หมด
เช่น หัวหน้าโครงการ วิทยากร โชว์ไม่เหมือนกันแต่ database และ table เดียวกัน เวลาแบ่งเพจ
แล้วมัันนับทุกตัวในดาต้าเบส เช่นผมตั้งมีดาต้าเบส ของหัวหน้าโครงการตั้งไว้ 10 คน สลับกับ วิทยากร อย่างละ 5 คน
ผมต้องการให้โชว์ 10 แถวในส่วนของหัวหน้าโครงการ แต่มันโชว์แค่ 5 แถวแล้วขึ้นเพจสอง

code
Code (PHP)
<?php

session_start(); 
ob_start();
if($_SESSION['admin_id'] == "") 
{ 
        
echo "Please Login!"; 
?>

<meta http-equiv="refresh" content="1;URL=../../login/login.php">
<?
exit(); 

} 
 
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>แสดงข้อมูลหัวหน้าโครงการ</title>
</head>

<body>
<script language="JavaScript">
	function ClickCheckAll(vol)
	{
	
		var i=1;
		for(i=1;i<=document.frmMain.hdnCount.value;i++)
		{
			if(vol.checked == true)
			{
				eval("document.frmMain.chkDel"+i+".checked=true");
			}
			else
			{
				eval("document.frmMain.chkDel"+i+".checked=false");
			}
		}
	}

	function onDelete()
	{
		if(confirm('Do you want to delete ?')==true)
		{
			return true;
		}
		else
		{
			return false;
		}
	}
</script>
<?php
include"../../../connect.php";



   

/* check ว่ามี ค่าตัวแปร $start หรือไม่ ถ้าไม่มีให้ตั้งเป็น 0
ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/
if(!isset($start)){
$start = 0;
}
$limit = '20'; // แสดงผลหน้าละกี่หัวข้อ

/* หาจำนวน record ทั้งหมด
ปล. อันนี้ต้องใช้กับตัวแบ่งนะ ห้ามเอาออก*/
$Qtotal = mysql_query("select * from register"); //คิวรี่ คำสั่ง
$total = mysql_num_rows($Qtotal); // หาจำนวน record

/* คิวรี่ข้อมูลออกมาเพื่อแสดงผล */
$Query = mysql_query("SELECT * FROM register ORDER BY re_id DESC LIMIT $start,$limit"); //คิวรี่คำสั่ง
$totalp = mysql_num_rows($Query); // หาจำนวน record ที่เรียกออกมา

?>

<form id="frmMain" name="form1" method="post" action="del_project.php"  OnSubmit="return onDelete();">
  <table width="50%" border="1" align="center" cellpadding="1" cellspacing="1">
    <tr>
      <td><img src="../../../image/header.jpg" width="950" height="250" /></td>
    </tr>
    <tr>
      <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td align="right" background="../../../image/Index1_03.png"><table width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td align="left"><a href="../../admin_page.php" target="_self">กลับสู่หน้าหลัก </a></td>
              <td align="right"><a href="../register/project/register_project.php">เพิ่มข้อมูลหัวหน้าโครงการ</a></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td height="177" valign="top" bgcolor="#CCCCCC"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td height="75" align="center" valign="top" bgcolor="#FFFFFF"><table width="100%" border="0" cellpadding="0" cellspacing="0">
            <tr>
              <td bgcolor="#CCCCCC"><table width="70%" border="0" align="center" cellpadding="2" cellspacing="1" bgcolor="#000000">
                <tr bgcolor="#66CCCC">
                  <td width="31%" align="center"><strong>รหัสการเข้าใช้</strong></td>
                  <td width="33%" align="center"><strong>ชื่อ- นามสกุล</strong></td>
                  <td width="14%" align="center"><strong>แก้ไข</strong></td>
                  <td width="22%" align="center"><strong>ลบข้อมูล</strong></td>
                </tr>
             <?
			 $i = 0; 
		while($dbarr = mysql_fetch_array($Query)){
			
			if($dbarr['re_status']=="หัวหน้าโครงการ"){
    
$i++;
		?>
                <tr bgcolor="#FFFFFF" onMouseOver="this.style.backgroundColor = '#FFFF99'" onMouseOut="this.style.backgroundColor = ''" class="tr">
                  <td align="left"><?=$dbarr['re_user']?></td>
                  <td align="left"><?=$dbarr['re_name']?></td>
                  <td align="center"><a href="edit_project/form_edit.php?&re_id=<?=$dbarr['re_id'] ?>">แก้ไข</a></td>
                  <td align="center"><input type="checkbox" name="chkDel[]" id="chkDel<?=$i;?>" value="<?=$dbarr["re_id"];?>"></td>
                     <? }}
?>
         <?
         /* ตัวแบ่งหน้า */
$page = ceil($total/$limit); // เอา record ทั้งหมด หารด้วย จำนวนที่จะแสดงของแต่ละหน้า



         
         ?>
                </tr>
                <tr bgcolor="#FFFFFF" onMouseOver="this.style.backgroundColor = '#FFFF99'" onMouseOut="this.style.backgroundColor = ''" class="tr">
                  <td colspan="4" align="center"><?
	/* เอาผลหาร มาวน เป็นตัวเลข เรียงกัน เช่น สมมุติว่าหารได้ 3 เอามาวลก็จะได้ 1 2 3 */
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){ //ถ้าตัวแปล page ตรง กับ เลขที่วนได้

	echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 1
}else{
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]"; //ลิ้งค์ แบ่งหน้า เงื่อนไขที่ 2
}
}
	?></td>
                  </tr>
                <tr bgcolor="#FFFFFF" onMouseOver="this.style.backgroundColor = '#FFFF99'" onMouseOut="this.style.backgroundColor = ''" class="tr">
                  <td colspan="4" align="right"><strong>
                  <input type="submit" name="button" id="button" value="DELETE" />
                  <input type="hidden" name="hdnCount" value="<?=$i;?>" />
                 &nbsp; เลือกทั้งหมด
                    <input name="CheckAll" type="checkbox" id="CheckAll" value="Y" onClick="ClickCheckAll(this);" />&nbsp;                  </strong></td>
                  </tr>
              </table>
               <center>
               </center></td>
            </tr>
          </table></td>
        </tr>
      </table></td>
    </tr>
    <tr>
      <td><img src="../../../image/footer.PNG" width="950" height="101" /></td>
    </tr>
  </table>
</form>
</body>
</html>




Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-11-12 10:03:14 By : ploypetpot View : 901 Reply : 5
 

 

No. 1



โพสกระทู้ ( 314 )
บทความ ( 0 )



สถานะออฟไลน์


$Qtotal และ $Query สองตัวนี้คือส่วนที่จะนำไปใช้เพื่อการแสดงผลที่ถูกต้องตามเงื่อนไขแบ่งหน้าครับ

$Qtotal คือจำนวนแถวทั้งหมดที่คิวรี่ได้ เพราะฉะนั้นต้องใช้คำสั่ง select พร้อมทั้งเงื่อนไขให้ถูกต้องด้วย (ตลอดจนการ join ถ้ามี)
สมมติว่าต้องการแสดงหน้าเฉพาะ "หัวหน้าโครงการ" ก็ต้องเพิ่มเงื่อนไขเข้าไปในคิวรี่ด้วย เพื่อหาจำนวนแถวทั้งหมดที่เป็นเฉพาะ "หัวหน้าโครงการ"

$Query ต้องสอดคล้องกับ $Qtotal ถ้าไม่มั่นใจหรือแม่นคิวรี่ แนะนำให้ใช้คิวรี่ทั้งสองเหมือนกัน (ถ้าระบบใหญ่อาจมีผลเรื่อง performance)

คิวรี่ทั้งสองตัวตามตัวอย่างที่ให้มาไม่ได้ใส่เงื่อนไขเอาไว้ มันจึงแสดงรายการทั้งหมดและแบ่งหน้าจากทั้งหมดที่คิวรี่ได้
จากโค้ดเดียวกันนี้สามารถเพิ่มลูกเล่นในการค้นหาเข้าไปได้ โดยการเพิ่มตัวแปรเพื่อระบุเงื่อนไขเข้าไปก่อนการคิวรี่ แล้วก็เอาตัวแปรที่ส่งมาไปใส่ไว้ในเงื่อนไข






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-12 14:52:23 By : Songkram
 


 

No. 2



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Songkram เมื่อวันที่ 2011-11-12 14:52:23
รายละเอียดของการตอบ ::
ขอบคุณครับ ผมจะลองแก้ดู อาจจะงงอยู่บ้างเพราะพึ่งเคยทำนะครับ อิอิ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-13 00:14:05 By : ploypetpot
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

Go to : PHP MySQL List Record Paging/Pagination
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-13 09:33:59 By : webmaster
 


 

No. 4



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 3 เขียนโดย : webmaster เมื่อวันที่ 2011-11-13 09:33:59
รายละเอียดของการตอบ ::
แก้ยังไม่ได้เลย อะ ไม่รู้ว่าจะเอาไปใส่ตรงไหน อะครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-15 00:28:10 By : ploypetpot
 


 

No. 5



โพสกระทู้ ( 68 )
บทความ ( 0 )



สถานะออฟไลน์


จากโค๊ตเดิม ถ้าผมทำแบบว่า ไม่มีข้อมูล ทำไงอ่ะครับทำหลายทีแล้วก็ยังไม่ได้นะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-11-15 22:38:50 By : ploypetpot
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : พี่ครับผมมีเรื่องที่อยากถามหน่อยผมอยากรู้ประดับความรู้เรื่อง code แบ่งเพจนะครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่