|
|
|
ขอความกรุณาช่วยอธิบาย code pagelimit ให้หน่อยนะค่ะ |
|
|
|
|
|
|
|
ช่วยหน่อยนะค่ะ
|
|
|
|
|
Date :
2010-04-26 11:28:29 |
By :
ปิยธิดา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่เข้าใจตรงไหนยังไงอะคะ แบบว่าเริ่มไม่ถูก อิอิ
|
|
|
|
|
Date :
2010-04-26 11:30:32 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือว่าอยากให้ช่วยอธิบายโค้ดแต่ละบรรทัดหน่อยอ่ะค่ะ พอดีไม่ค่อยเข้าใจ ช่วยหน่อยนะค่ะ
|
|
|
|
|
Date :
2010-04-26 12:19:29 |
By :
ปิยธิดา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คร่าว ๆ จากโค้ดนะคะ ไม่ค่อยแน่ใจเรื่องตัวแปรที่ใช้เท่าไหร่ ผิดพลาดประการใดก็ขออภัยด้วยค่ะ
Code (PHP)
<?
include 'inc/config.inc.php';
$pp=1; /*คิดว่าคงเป็น limit จำนวนข้อมูลต่อหน้า
$sql="select * from tb_faq "; /*select ข้อมูลทั้งหมดที่จะแสดงค่ะ*/
$result=mysql_query($sql) or die ("ERR 1 !");
$nrows=mysql_num_rows($result);/*จำนวน record ข้อมูลทั้งหมด เพื่อนำมาแบ่งหน้าค่ะ*/
//echo "pp =$pp,nrows=$nrows<br>";
if($nrows<=$pp){/*ถ้า จำนวน record <= limit*/
$npage=1;/*ให้จำนวนหน้า = 1 ค่ะ*/
}else if (($nrows%$pp)=="0"){/*ถ้า จำนวน record หารเอาเศษด้วย limit = 0 คือหารลงตัวไม่มีเศษ */
$npage=$nrows/$pp;/*ให้จำนวนหน้ามีค่าเท่ากับ จำนวน record ข้อมูลทั้งหมด หารด้วย limit จำนวนข้อมูลต่อหน้า */
}else{/*ถ้า จำนวน record หารเอาเศษด้วย limit ไม่เท่ากับ 0 คือหารไม่ลงตัวเศษ*/
$npage=($nrows/$pp)+1;/*ให้จำนวนหน้ามีค่าเท่ากับ จำนวน record ข้อมูลทั้งหมด หารด้วย limit จำนวนข้อมูลต่อหน้า + 1*/
/*(เพื่อเพิ่มหน้าที่แสดงข้อมูลที่เหลือ ค่ะ เช่น ข้อมูลมี 55 limit=10 55/10 ไม่ลงตัว จำนวนหน้าก็จะเป็น 15/10 = 5 แล้ว + 1 = 6 ค่ะ ข้อมูลที่เหลืออีก 5 จะแสดงอยู่ในหน้าที่ 6 ค่ะ ) */
}
$npage=(int)$npage;/*แปลงข้อมูลให้อยู่ในรูปของ ตัวเลข*/
//echo "npage=$npage<br>";
$page=$_GET[page];/*รับค่าตัวแปร page จาก url ค่ะ*/
if(empty($page))/*ถ้าเป็นค่าว่าง หรือ ไม่มีค่า*/
$page=1;/*กำหนดให้ page=1*/
$pv=$page-1;/*ก่อนหน้า =page-1 */
$pn=$page+1;/*ต่อไป = $page+1 */
$sp=($page*$pp)-$pp;/*sp น่าจะเป็นจำนวนเริ่มต้น ที่จะใช้ในการ select ข้อมูล*/
if($nrows>0){/*ถ้าข้อมูลทั้งหมด มากกว่า 0 ซื้อก็คือ ถ้ามีข้อมูล*/
?>
<?
$no=1;
$sql .=" where 1 order by faq_id ASC LIMIT $sp,$pp";/*บรรทัดนี้คือ ให้ต่อท้าย $sql ข้างบนด้วยข้อความนี้ค่ะ*/
/*จุดสำคัญอยู่ที่ LIMIT $sp,$pp ค่ะ เป็นการแบ่งข้อมูลตามที่คำนวณไว้ข้างบนค่ะ สมมุติ แบ่งไว้หน้าละ 10 ข้อมูลก็จะมาทีละ 10 แถวค่ะ
1-10,11-20 อะไรประมาณนี้ ตรง $sp นี่ต้องคำนวณให้ถูกนะคะ */
$result=mysql_query($sql) or die ("Err 2");
while ($row=mysql_fetch_row($result))
{
?>
<?
$no++;
}
?>
<?/*ตรงนี้ก็เป็นการแสดง link page ตามที่ได้คำนวณไว้ค่ะ*/
if($pv)
{
echo "<a href='$PHP_SELF?page=$pv' style='coler:#660000'>ย้อนกลับ</a> ";
}
for($i=1;$i<=$npage;$i++){
if($page==$i){
echo " <font color='#FF3300'><b>$i</b></font>";
}else{
echo" <a href='$PHP_SELF?page=$i'>$i</a>";
}
}
if($page!=$npage){
echo" <a href='$PHP_SELF?page=$pn'>ถัดไป</a>";
}
?>
|
|
|
|
|
Date :
2010-04-26 13:13:36 |
By :
ultrasiam |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากมายนะค่ะที่ช่วย เพราะเราเป็นคนไทยไม่ช่วยกันแล้วใครจะมาช่วยเราใช่มะค่ะ
|
|
|
|
|
Date :
2010-04-26 16:49:57 |
By :
ปิยธิดา |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่ๆ คนไทยมีน้ำใจ ^o^
เวบนี้ก็มีผู้รู้ที่มีน้ำใจมากๆคับ ขอบคุณหลายๆ
|
|
|
|
|
Date :
2010-04-26 17:14:30 |
By :
dekcomnvc |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|