ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

offing
PHP VIP Members
PHP VIP Members
Posts: 1527
Joined: 18/08/2014 10:01 am

ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Post by offing »

ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Code: Select all

<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include($phpbb_root_path . 'includes/functions_display.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup(test_insert_sql);

$template->set_filenames(array(
'body' => 'test_insert_sql_history.html'

)); 
$search = request_var('search',''); //รับค่าจากดอปดาวในhtml รูปแบบ(20000-30000)
$s1 = explode('-',$search); //แบ่งข้อความ
$a = $s1[0]; //20000เกบในa
$b = $s1[1];//30000เกบในb
$min   = request_var('min', $a);//ถ้ามีการกดหน้า2 จะรับค่าminเกบในmin
$max   = request_var('max', $b);
$start   = request_var('start', 0); //เริ่มจากลำดับ
$limit   = request_var('limit', (int)5 );// จำนวนที่จะให้เเสดง

if($search == '100000+'){
   
    $data = 'SELECT * FROM ' . OFFING_TABLE . ' WHERE sa_total > 100000 order by search_id ASC';
     $row = "SELECT COUNT(*) AS sumrow FROM ". OFFING_TABLE.' WHERE sa_total > 100000 order by search_id ASC';
}

//เกือบทุกเงื่อนไขจะเข้าตัวนี้
else{

$data = 'SELECT * FROM '.OFFING_TABLE.' where sa_total between "'.$min.'" and  "'.$max.'" order by search_id ASC'; 

$row = "SELECT COUNT(*) AS sumrow FROM ". OFFING_TABLE.' where sa_total between "'.$min.'" and "'.$max.'" order by search_id ASC'; 
}
$result = $db->sql_query($row);

$total_data = (int) $db->sql_fetchfield('sumrow');
$result = $db->sql_query_limit($data, $limit, $start);


while($show = $db->sql_fetchrow($result)){
   $template->assign_block_vars('somerow', array(
      'VAR1' => "$show[name]",
      'VAR2' => "$show[sa_m]",
       'VAR3' => "$show[sa_f]",
       'VAR4' => "$show[age_m]",
       'VAR5' => "$show[age_f]",
       'VAR6' => "$show[status_l]",
       'VAR7' => "$show[status_c]",
       'VAR8' => "$show[status_ma]",
       'VAR9' => "$show[status_f]",
       'VAR10' => "$show[status_ceo]",
       'VAR11' => "$show[time]",
       'VAR12' => "$show[money]",
       'VAR13' => "$show[ip]",
   ));
}

$pagination_url = append_sid($phpbb_root_path . 'test_insert_sql_history.' . $phpEx."?min=".$min."&max=".$max,'');

$template->assign_vars(array(
      'PAGINATION'        => generate_pagination($pagination_url, $total_data, $limit, $start),
      'PAGE_NUMBER'       => on_page($total_use, $limit, $start), 
));

make_jumpbox(append_sid("{$phpbb_root_path}viewforum.$phpEx"));
page_header($l_title, false);
page_footer();


?>

มีข้อมูลในฐานข้อมูล10record
หน้าค้นหา
1.jpg
1.jpg (10.19 KiB) Viewed 487 times
หน้าแรก
2.jpg
2.jpg (50.99 KiB) Viewed 487 times
หน้า2
3.jpg
3.jpg (16.46 KiB) Viewed 487 times
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25963
Joined: 22/09/2008 6:18 pm
Contact:

Re: ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Post by mindphp »

ตัวอย่าง sql_query_limit

Code: Select all

$post_id = 25;

// Start on row 10
$start = 10;

// Select 5 rows (limit/offset)
$limit = 5

$sql = 'SELECT *
    FROM ' . POSTS_TABLE . ' 
    WHERE post_id = ' . (int) $post_id;
$result = $db->sql_query_limit($sql, $limit, $start);
 
ถ้าส่งตัวแปลตามเงื่อนไข มา เพิ่มเข้าไปที่ คำสั่ง sql WHERE
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27322
Joined: 31/03/2014 10:02 am
Contact:

Re: ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Post by thatsawan »

น่าจะเขียนคบแล้วนะคับ ในwhere

แล้ว $result = $db->sql_query_limit($sql, $limit, $start); เขียนตามนี้เลยคับ

พลาดจุดไหนไปคับ
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25963
Joined: 22/09/2008 6:18 pm
Contact:

Re: ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Post by mindphp »

ส่งตัวแปล ไปตาม url ของหน้าใหม่ หรือยัง
search, max, min
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
offing
PHP VIP Members
PHP VIP Members
Posts: 1527
Joined: 18/08/2014 10:01 am

Re: ติดปัญหาการแบ่งหน้าพอกดหน้า2ข้อมูลไม่ขึ้น

Post by offing »

เรียบร้อยแล้วคับ


ตอนรับค่าตัวแปรในหน้าแรกรับค่าsearchมาเพียงตัวเดียวส่วนค่า
min,max เรามาทำการexplode เพื่อใช้นำไปwhere หาช่วงข้อมูลที่ต้องการ

Code: Select all

$search = request_var('search','');
$s1 = explode('-',$search);
$a = $s1[0];
$b = $s1[1];
$min   = request_var('min', $a);
$max   = request_var('max', $b);
$start   = request_var('start', 0); /
$limit   = request_var('limit', (int)5);

ส่วนขั้นตอนการ append_sid กลับมาเพื่อดูหน้า 2,3,4,.......
เราไม่ต้องส่งค่าmaxกลับไป เพียงส่ง

Code: Select all

$pagination_url = append_sid($phpbb_root_path . 'test_insert_sql_history.' . $phpEx."?search=".$search,'');
\

ก็เป็นอันเสร็จ
Post Reply

Return to “Programming - PHP”

Who is online

Users browsing this forum: Bing [Bot], MSN [Bot], Yahoo [Bot] and 714 guests