|
|
|
แบ่งหน้าเพจ PHP แบ่งไม่ได้สักทีครับ ไม่ทราบว่าผิดตรงไหนครับ |
|
|
|
|
|
|
|
ไม่เกี่ยวกันนะครับ แบ่งได้หมดอะครับ แต่ code ที่ให้มายังไม่ครบเลย ขาดส่วนของ link ที่แบ่งหน้า page ครับ
|
|
|
|
|
Date :
2012-07-04 19:30:31 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมลองแบ่งหน้าเพจ ตัวอื่น นั่งทำไม่ถึง 10 นาทีก็ได้ครับ
แต่พอมาเจอตัวนี้ นั่ง งม 2 วัน ยัง งง อยู่ครับ ว่าเกี่ยวกับ join table รึป่าว
|
|
|
|
|
Date :
2012-07-04 19:39:29 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ก็ถูกนะครับงั้นแสดงว่า error ที่ sql แล้วละลองเอา or die ต่อท้ายสิครับมี error ว่ายังไงบ้าง
ตัวอย่าง
$result = mysql_query($sql) or die ($sql);
|
|
|
|
|
Date :
2012-07-04 19:43:49 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันก็ไม่ขึ้น error อะไรเลยนะครับผม แต่พอไปคลิกที่หน้าต่อไป มันก็เป็นหน้าเดิมตลอดครับผม
|
|
|
|
|
Date :
2012-07-04 19:55:12 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นเอางี้ครับเอาเมาส์ลองไปชี้ที่ลิ้งค์แบ่งหน้าดูว่ามันส่งค่าถูกไหมครับ
|
|
|
|
|
Date :
2012-07-04 20:04:02 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าผมเดาไม่ผิดมันน่าจะติดที่ sql ตัวแรกครับ
|
|
|
|
|
Date :
2012-07-04 20:06:36 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
น่าจะส่งค่าถูกนะครับผมว่า แบ่งเพจละ 10 รายการครับ
|
|
|
|
|
Date :
2012-07-04 20:14:47 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นลองแก้ sql ตัวแรก โดยเอา sql ตัวที่ 2 ไปแปะเลยครับ ละก็ตัด limit ออกซะเพื่อจำนวน แถวจริงๆ ครับ แล้วเดียวเรามาดูกันอีกที อิอิ
|
|
|
|
|
Date :
2012-07-04 20:26:12 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองตามแล้วครับผม
ยังเหมือนเดิมอยู่เลยครับ
คลิกที่เพจไหน ก็ยังโชว์หน้าเดิมครับผม
|
|
|
|
|
Date :
2012-07-04 20:31:43 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นเรามาลอง echo ใน
if(!isset($start)){
echo $start;
$start = 0;
}
ดูนะครับผมกลัวว่ามันจะเข้าทุกครั้งเลยไปเซตให้ start เป็น 0 ตลอด ลองดูนะครับ มัน echo 0 มาตลอดรึป่าว
|
|
|
|
|
Date :
2012-07-04 20:39:03 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo $start ออกมาแล้วนครับ ไม่มีค่าอะไรออกมาเลย เป็นค่าว่างเปล่า
แต่ถ้าเอา มาไว้ข้างล่าง $start = 0; ก็แสดงค่า 0 ออกมาอยู่ครับผม
|
|
|
|
|
Date :
2012-07-04 20:48:34 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นแสดงว่าทุกรอบที่คุณกด มันไม่ได้ส่งค่า start ไปเลย จึงเข้าลูป ตลอด เซตค่า start เป็น 0 ทุกรอบ กดหน้าไหนก็เลยไม่ไปไหนครับ
ทีนี้ ทีนี้ เราก็หาทางส่งค่า start กันครับ
|
|
|
|
|
Date :
2012-07-04 20:51:01 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไหนคุณลองแก้
if(!isset($start)){
}
เป็น if(!isset($_GET['start'])){
}
ดูสิครับ
|
|
|
|
|
Date :
2012-07-04 20:54:33 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองแก้แล้วครับผม พอคลิกเพจที่ 2
Error Query [SELECT board.webboard_id,board.member, board.post, board.view, board.update_date, board.postdate, board.detail, board.topic, category.name FROM board INNER JOIN category ON (board.category = category.category) ORDER BY board.update_date DESC LIMIT ,10 ]
แบบนี้ครับ เหมือนค่า start หายไปเลยครับผม
|
|
|
|
|
Date :
2012-07-04 21:00:58 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ห้าๆๆ
ไม่ใช่ใส่แค่นี้นะครับ
if(!isset($_GET['start'])){
}
คือ แบบเดิมนั้นแหละแก้แค่ตรงบนหัวครับ
if(!isset($_GET['start'])){
$start = 0;
}
ด้วยครับ
|
|
|
|
|
Date :
2012-07-04 21:04:08 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช่แล้วครับผม ก็ผมเปลี่ยนแค่ข้างบน นอกนั้นเหมือนของเดิมครับผม
ก็ขึ้น error อย่างที่โชว์ก่อนหน้านี้ครับผม
|
|
|
|
|
Date :
2012-07-04 21:11:52 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ่ ตัวแปร $start มันไม่น่าหายนะครับเพราะถ้าไม่มีการส่งค่ามันมันก็กำหนดเป็น 0 ให้นะครับ ไหนๆๆเอาโค๊ตทั้งหมดมาเลยครับเดียวมานั้งแก้กัน อิอิ
|
|
|
|
|
Date :
2012-07-04 21:14:50 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<meta http-equiv="Content-Type" content="text/html; charset=windows-874" />
<style type="text/css">
<!--
body,td,th {
font-size: 12px;
}
.style1 {color: #FFFFFF}
-->
</style>
<?php if($_SESSION[login] <> ''){?>
<br>
<div align="right">
<table width="95" border="0" cellspacing="0" background="img/bg_button_add.gif">
<tr>
<td width="92" height="32"><span class="style1"><a href="?p=add"> ตั้งกระทู้ใหม่</a> </span></td>
</tr>
</table>
</div>
<?}?>
<br>
<div align="center">
<table width="95%" cellpadding="0" cellspacing="0" style="border: dashed 1px; ">
<tr>
<td width="7%" height="24" background="img/bg_head_title_webboard.gif" style="border: dashed 1px ; "><div align="center" class="style1">ลำดับที่</div></td>
<td colspan="2" background="img/bg_head_title_webboard.gif" style="border: dashed 1px ; "><div align="center" class="style1">หัวข้อ</div></td>
<td width="17%" background="img/bg_head_title_webboard.gif" style="border: dashed 1px ;"><div align="center" class="style1">โพสโดย</div></td>
</tr>
<?
$objConnect = mysql_connect("localhost","root","1122") or die("Error Connect to Database");
$objDB = mysql_select_db("sk000");
if(!isset($_GET['start'])){
$start = 0;
}
$limit = '10';
$Qtotal = mysql_query("SELECT webboard_id FROM board");
$total = mysql_num_rows($Qtotal);
$strSQL = "SELECT board.webboard_id,board.member, board.post, board.view, board.update_date, board.postdate, board.detail, board.topic, category.name
FROM ".TB_WEBBOARD."
INNER JOIN ".TB_CATEGORY." ON (board.category = category.category)
ORDER BY board.update_date DESC LIMIT $start,$limit ";
$Query = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$totalp = mysql_num_rows($Query);
// คิวรี่ฐานข้อมูล Webboard เรียงตามวันที่ update ล่าสุด
//$coun = 1; // ให้จำนวนลำดับที่ เริ่มต้นเป็น 1
while ($dbarr[webboard]=mysql_fetch_array($Query)){ // วน Loop เพื่อแสดงรายการกระทู้ในฐานข้อมูล Webboard
$webboard_id = $dbarr[webboard][webboard_id]; // เอารหัสเว็บบอร์ดใส่ตัวแปล $webboard_id
$num_comment = mysql_num_rows(mysql_query("SELECT * FROM ".TB_COMMENT." WHERE webboard_id ='$webboard_id' ")); // คิวรี่ฐานข้อมูล Comment ดึงเอารายการที่เป็นของ รหัสเว็บบอร์ด
if ($dbarr[webboard][member]){ // ตรวจสอบผู้ตั้งกระทู้ เป็นสมาชิกหรือไม่
$showimg = "<img src=\"img/member.gif\" width='14' height='14'>"; // ถ้าเป็นสมาชิก
}else { $showimg = "<img src=\"img/pencil_icon.gif\" >";} // ถ้าไม่เป็นสมาชิก
?>
<tr>
<td height="21" background="img/bg_title_webboard.gif" style="border: dashed 0px "><div align="center"><?=$dbarr[webboard][webboard_id];?></div></td>
<td width="57%" background="img/bg_title_webboard.gif" style="border: dashed 0px;background-color:#ebe9fb; "> <img src="img/comment.gif" border="0" />
<a href="/np/webboard/<?=$dbarr[webboard][webboard_id];?>.html"><?=$dbarr[webboard][topic];?></a> ( กลุ่ม : <?=$dbarr[webboard][name];?>) <? CheckNew($dbarr[webboard][postdate]);?> <? CheckUpdate($dbarr[webboard][update_date]);?> <? CheckHot($dbarr[webboard][view]);?></td>
<td width="19%" background="img/bg_title_webboard.gif" style="border: dashed 0px ; "> ( อ่าน : <?=$dbarr[webboard][view]; ?> / ตอบ : <?=$num_comment;?>) </td>
<td background="img/bg_title_webboard.gif" style="border: dashed 0px ; "><div align="center"><?=$showimg;?> <?=$dbarr[webboard][post];?></div></td>
</tr>
<? //$coun ++ ; // เพิ่มจำนวนหัวข้อทีละ 1
} // จบการแสดงผลเว็บบอร์ด
?>
<tr>
<td > </td>
<td colspan="3" >
<?php
$page = ceil($total/$limit);
for($i=1;$i<=$page;$i++){
if($_GET['page']==$i){
echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]";
}else{
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]";
}
}
?>
</td>
</tr>
<tr>
<td height="22" > </td>
<td colspan="3" ><img src="img/new.gif" width="29" height="7" /> = หัวข้อใหม่, <img src="img/update.gif" width="50" height="12" />= อัพเดรตล่าสุด, <img src="img/hot.gif" width="29" height="7" /> = ยอดนิยม, <img src="img/member.gif" width="14" height="14" /> = สมาชิก, <img src="img/pencil_icon.gif" width="10" height="10" /> = บุคคลทั่วไป </td>
</tr>
</table>
</div>
นี้เป็นไฟล์หลักครับ แต่ผม include ไปแสดงอีกหน้าเฉยๆๆ ครับผม
|
|
|
|
|
Date :
2012-07-04 21:24:21 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ปัญหามันอยู่ที่ว่ามันไม่เห็นตัวแปร $start ใช่ไหมครับงั้นลอง echo $start; บน $limit = '10'; ดูครับว่าค่าเป็นไงมั้ง
|
|
|
|
|
Date :
2012-07-04 21:29:16 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้ค่า 0 ครับผม ว่างข้างนอก if ข้างบน limit ครับผม
|
|
|
|
|
Date :
2012-07-04 21:31:27 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าได้ค่า 0 ยัง error อยู่รึป่าวครับ
|
|
|
|
|
Date :
2012-07-04 21:33:46 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งั้นลอง
f(!$_GET['start']){
$start = 0;
}
ครับ
อิอิ รอดูผล
|
|
|
|
|
Date :
2012-07-04 21:49:28 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขึ้น error เหมือนเดิมครับผม พอคลิกที่เพจต่อไป ก็ error เลยครับ
|
|
|
|
|
Date :
2012-07-04 21:52:22 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอ่ แปลกนะตัวแปร $start มันหายไปได้ไงหว่า ไหนลองเซ็ตค่าให้มันตรงเลยดูสิตรง limit อะครับ เป็น 0,10
f(!$_GET['start']){
$start = 0;
}
กูอย่าเพิ่งเปลี่ยนนะ
|
|
|
|
|
Date :
2012-07-04 21:55:18 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเครงั้นลองกำหนดค่าให้มันก่อนเลยครับ
$start = $_GET['start'];
if(!$_GET['start']){
$start = 0;
}
|
ประวัติการแก้ไข 2012-07-04 22:00:22
|
|
|
|
Date :
2012-07-04 21:59:36 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เย้ๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆๆ ได้แล้วครับ ขอบคุณมากครับพี่ ขอบคุณมากจริงครับ นั่ง งม 2 วันแล้ว
ทำไมต้องประกาศ $start = $_GET['start']; ไว้ก่อนอ่าครับผม
แล้วจะ GET มาจากไหนครับผม
|
|
|
|
|
Date :
2012-07-04 22:05:54 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
GET มาจากนี้ครับ
echo "[<a href='?start=".$limit*($i-1)."&page=$i'><B>$i</B></A>]";
echo "[<a href='?start=".$limit*($i-1)."&page=$i'>$i</A>]";
? หมายการส่งตัวแปรแบบ GET ครับ ส่งตัวแปร $_GET['start'] กับตัวแปร $_GET['page'] ครับ
ส่วน
if(!$_GET['start']){
$start = 0;
}
ก็หมายถึงเข้ามาครั้งแรก ไม่มีการส่งค่าแบบ GET มาก็กำหนดให้ $start เป็น 0 ครับ
ที่เราลืมกันก็คือ พอมันส่งค่ามา แล้วไม่ประกาศตัวแปรรับค่า GET
$start = $_GET['start'];
ไงครับ
อิอิ
|
ประวัติการแก้ไข 2012-07-04 22:22:31
|
|
|
|
Date :
2012-07-04 22:10:33 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อ๋อครับผม
ผมก็ งง ไม่เคยเจอสถานการณ์แบบนี้ครับ ได้ความรู้ใหม่ๆๆ ครับผม
ขอบคุณมากครับผม
|
|
|
|
|
Date :
2012-07-04 22:13:11 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ความรู้ยิ่งแบ่งปัน ยิ่งเพิ่มพูนครับ
|
|
|
|
|
Date :
2012-07-04 22:14:17 |
By :
joesimikung |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2012-07-04 22:17:20 |
By :
gtblackhat |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|