|
|
|
ทำยังไงให้มันไม่ดึงข้อมูลเก่ามาแสดงซ้ำคะ ข้อมูลมีไม่พอแบ่งหน้ามันก้แบ่งเอง อะค่ะทำไงดีเหรอคะ |
|
|
|
|
|
|
|
อันนี้เรื่องการแสดงผลค่ะ ภาพบนนี้ กำหนดค่า $n = 30 ได้ผลลัพธ์มาแบบนี้
ภาพนี้กำหนด $n ให้เปน 0 อยากให้ แสดงผลให้เท่ากับ ช่องเงินออมทำยังไงเหรอคะ
จากรูปใช้ร่วมกับโค้ดแบ่งหน้า น่ะค่ะ แล้วทุกหน้า จะแสดง ข้อมูลเหมือนกันหมดเลย ทำไงดีคะ
ซึ่ง ถ้าข้อมูลมีเพียง 5 record แล้วจำกัดการแสดงการแสดงผลไว้ที่ 5 มันก็ไม่ควรมีหน้าอื่นไม่ใช่เหรอคะ
นี่โค้ดค่ะ
Code (PHP)
<p align="center"><strong>ประวัติการออม</strong>
<p align="center">
<?
include("connect.php");
$result = mysql_db_query($dbname,$sql);
function pagenavi($page, $limit, $range, $count, $style="", $oncolor="#FF0000", $send=NULL, $target="_self"){
$output = "";
$total = ceil($count/$limit);
$navi_start = $page-$range;
$navi_end = $page+$range;
$send .= (!empty($send))? "&" : NULL;
if($navi_start <= 0) $navi_start = 1;
if($navi_end >= $total) $navi_end = $total;
if($page>1){
$navi_back = $page-1;
if($page > 2)
$output .= "<a href=\"?" . $send . "page=1\" target=\"" . $target . "\" class=\"" . $style . "\">«</a> ";
$output .= "<a href=\"?" . $send . "page=" . $navi_back . "\" target=\"" . $target . "\" class=\"" . $style . "\">‹</a> ";
}
for($i = $navi_start; $i <= $navi_end; $i++){
if($i == $page)
$output .= "<a href=\"?" . $send . "page=" . $i . "\" target=\"" . $target . "\" class=\"" . $style . "\"><strong><font color=\"" . $oncolor . "\">$i</font></strong></a> ";
else
$output .= "<a href=\"?" . $send . "page=" . $i . "\" target=\"" . $target . "\" class=\"" . $style . "\">$i</a> ";
}
if($page < $total){
$navi_next = $page+1;
$output .= "<a href=\"?" . $send . "page=" . $navi_next . "\" target=\"" . $target . "\" class=\"" . $style . "\">›</a> ";
if(($page+1) < $total)
$output .= "<a href=\"?" . $send . "page=" . $total . "\" target=\"" . $target . "\" class=\"" . $style . "\">»</a>";
}
if($navi_start>$navi_end)
$output .= "<a href=\"?" . $send . "page=" . $page . "\" target=\"" . $target . "\" class=\"" . $style . "\"><strong>$page</strong></a> ";
return $output;
}
include("connect.php");
$page = (isset($_GET['page']))? intval($_GET['page']) : 1;
$limit_end = 5;
$limit_start = ($page-1)*$limit_end;
$sql = "SELECT m.id_m As id,m.name_m As name,
s.saving_date As sav_date,s.deposit As de,s.id_saving_sts AS id_s,
sa.id_saving_sts AS id_sav , sa.type_saving_sts As type
FROM member m
INNER JOIN saving_money s ON m.id_m = s.id_m
INNER JOIN saving_sts sa ON s.id_saving_sts = s.id_saving_sts
WHERE m.id_m = 3 ";
$rc_total = mysql_num_rows(mysql_query($sql));
$objQuery = mysql_query($sql . " limit " . $limit_start. "," . $limit_end ) or die ("Error Query [".$strSQL."]");
$res = mysql_query($sql,$con);//query คำสั่ง mysql_fetch_row
$Num_Rows = mysql_num_rows($objQuery) or die ("ไม่พบข้อมูล");
print("<table height='41' border='1'>");
print("<tr>");
print(" <td width='150' align='center'>วันที่ออม</td>");
print("<td width='100' align='center'>เงินออม</td>");
print("<td width='50' align='center'>รวม</td>");
print("</tr>");
$i = 0;
$n = 0;
while ($i<$Num_Rows){
$result = mysql_fetch_array($objQuery);
$row = mysql_fetch_row($res);
$id_m = $result["id"];
$name_m = $result["name"];
$saving_date =$result["sav_date"];
$deposit = $result["de"];
$type_saving_sts =$result["type"];
print("<tr align='center'>");
print("<td>$saving_date</td>");
print("<td align=\"right\">$deposit.00 บาท</td>");
print("<td>$n.00 บาท</td>");
print("</tr>");
$i++; $n=$deposit+$n;
}
print("</table>");
mysql_close();
?>
<p><p><br><br>
หน้า : <?php echo pagenavi($page, $limit_end, 4, $rc_total); ?>
</p>
Tag : PHP, MySQL
|
ประวัติการแก้ไข 2011-02-23 00:52:38
|
|
|
|
|
Date :
2011-02-22 22:47:04 |
By :
หมูอ้วนบ้าบอ |
View :
891 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
รบกวนช่วยด้วยค่ะ พรุ่งนี้ ต้องส่งตัวอย่างการดำเนินงานแล้ว
|
ประวัติการแก้ไข 2011-02-23 00:55:10
|
|
|
|
Date :
2011-02-22 23:24:24 |
By :
หมูอ้วนบ้าบอ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเอา $n=$deposit+$n; ขึ้นไปไว้ ก่อน print สิ
|
|
|
|
|
Date :
2011-02-23 01:40:58 |
By :
EvaNess |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ แต่ลองแล้วจ้า
ตอนนี้รู้สึกว่าคำสั่ง SQL ผิดด้วย
|
|
|
|
|
Date :
2011-02-23 01:45:11 |
By :
หมูอ้วนบ้าบอ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ เวลาเปลี่ยนหน้าเนี่ย มันจะ SQL ใหม่ ฉะนั้นจะต้องเก็บค่ายอดเงินออมสะสมเป็นตัวแปร Session ไว้นะครับ
|
|
|
|
|
Date :
2011-02-23 01:50:30 |
By :
EvaNess |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วลองดูค่า $rc_total ที่ส่งเข้า ฟังชั่นนะครับ ว่าเท่าไหร่ ดูคร่าวๆแล้วน่าจะส่งจำนวนทุกแถวเข้าไปแบ่งหน้านะ
|
|
|
|
|
Date :
2011-02-23 01:57:07 |
By :
EvaNess |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณค่ะ จะลองทำดูนะคะ
|
|
|
|
|
Date :
2011-02-23 02:54:38 |
By :
หมูอ้วนบ้าบอ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|