โดย M004 » 20/05/2013 6:02 pm
ตัวการใช้งาน sql query limit (แบ่งหน้า ข้อมูลที่จะแสดง)
- 23.jpg (6.1 KiB) Viewed 1552 times
โค้ด: เลือกทั้งหมด
$start = request_var('start', 0);
$limit = 2;
$pagination_url = $this->u_action.'&action=select_add';
$sql = "SELECT * FROM " . TOPICS_TABLE . " where topic_title LIKE '%".$db->sql_escape("$search")."%' " ;
$result = $db->sql_query($sql);
$result_row = $db->sql_query_limit($sql, $limit, $start);
while ($data_row = $db->sql_fetchrow($result_row))
{
$template->assign_block_vars('data_row', array(
'TOPIC_ID' => $data_row['topic_id'],
'TOPIC_TITLE' => $data_row['topic_title'],
));
}
if(empty($search)){
$post['search'] = '';
$error['search'] = $user->lang['ERROR_SEARCH'];
}
if(empty($nameeg)){
$post['nameeg'] = '';
$error['nameeg'] = $user->lang['ERROR_SEARCH'];
}
if(empty($nameth)){
$post['nameth'] = '';
$error['nameth'] = $user->lang['ERROR_SEARCH'];
}
if(empty($detailth)){
$post['detailth'] = '';
$error['detailth'] = $user->lang['ERROR_SEARCH'];
}
$template->assign_vars(array(
'DATA_SEARCH' => $post['search'],
'DATA_NAMEEG' => $post['nameeg'],
'DATA_NAMETH' => $post['nameth'],
'DATA_DETAILTH' => $post['detailth'],
'DATA_APPROVE' => $post['APPROVE'],
'ERROR_SEARCH' => $error['search'],
'ERROR_NAMEEG' => $error['nameeg'],
'ERROR_NAMETH' => $error['nameth'],
'ERROR_DETAILTH' => $error['detailth'],
'MARK' => $error['markid'],
'ACCTION' => $this->u_action,
));
$db->sql_freeresult($result_row);
$sql = 'SELECT COUNT(*) as total_data FROM ' . TOPICS_TABLE . " where topic_title LIKE '%".$db->sql_escape("$search")."%' " ;
$result = $db->sql_query($sql);
$total_data = $db->sql_fetchfield('total_data');
$db->sql_freeresult($result);
$template->assign_vars(array(
'PAGINATION' => generate_pagination($pagination_url, $total_data, $limit, $start),
'PAGE_NUMBER' => on_page($total_data, $limit, $start),
));
กรณี มีค่าที่ต้องการให้ คงอยู่ส่งไปหน้าใหม่ด้วย ตัวแปล $pagination_url ใส่ค่าที่เคยเลือกหรอกรอกไว้ลงไปในตัวแปลด้วย
เช่น
โค้ด: เลือกทั้งหมด
$pagination_url .='&q=ค่าที่ส่งมา&str=ค่าที่ส่งมา';
ค่าที่เป็น array
ตัวการใช้งาน sql query limit (แบ่งหน้า ข้อมูลที่จะแสดง)
[attachment=0]23.jpg[/attachment]
[code=php]
$start = request_var('start', 0);
$limit = 2;
$pagination_url = $this->u_action.'&action=select_add';
$sql = "SELECT * FROM " . TOPICS_TABLE . " where topic_title LIKE '%".$db->sql_escape("$search")."%' " ;
$result = $db->sql_query($sql);
$result_row = $db->sql_query_limit($sql, $limit, $start);
while ($data_row = $db->sql_fetchrow($result_row))
{
$template->assign_block_vars('data_row', array(
'TOPIC_ID' => $data_row['topic_id'],
'TOPIC_TITLE' => $data_row['topic_title'],
));
}
if(empty($search)){
$post['search'] = '';
$error['search'] = $user->lang['ERROR_SEARCH'];
}
if(empty($nameeg)){
$post['nameeg'] = '';
$error['nameeg'] = $user->lang['ERROR_SEARCH'];
}
if(empty($nameth)){
$post['nameth'] = '';
$error['nameth'] = $user->lang['ERROR_SEARCH'];
}
if(empty($detailth)){
$post['detailth'] = '';
$error['detailth'] = $user->lang['ERROR_SEARCH'];
}
$template->assign_vars(array(
'DATA_SEARCH' => $post['search'],
'DATA_NAMEEG' => $post['nameeg'],
'DATA_NAMETH' => $post['nameth'],
'DATA_DETAILTH' => $post['detailth'],
'DATA_APPROVE' => $post['APPROVE'],
'ERROR_SEARCH' => $error['search'],
'ERROR_NAMEEG' => $error['nameeg'],
'ERROR_NAMETH' => $error['nameth'],
'ERROR_DETAILTH' => $error['detailth'],
'MARK' => $error['markid'],
'ACCTION' => $this->u_action,
));
$db->sql_freeresult($result_row);
$sql = 'SELECT COUNT(*) as total_data FROM ' . TOPICS_TABLE . " where topic_title LIKE '%".$db->sql_escape("$search")."%' " ;
$result = $db->sql_query($sql);
$total_data = $db->sql_fetchfield('total_data');
$db->sql_freeresult($result);
$template->assign_vars(array(
'PAGINATION' => generate_pagination($pagination_url, $total_data, $limit, $start),
'PAGE_NUMBER' => on_page($total_data, $limit, $start),
)); [/code]
กรณี มีค่าที่ต้องการให้ คงอยู่ส่งไปหน้าใหม่ด้วย ตัวแปล $pagination_url ใส่ค่าที่เคยเลือกหรอกรอกไว้ลงไปในตัวแปลด้วย
เช่น
[code]$pagination_url .='&q=ค่าที่ส่งมา&str=ค่าที่ส่งมา';[/code]
ค่าที่เป็น array
[code]$pagination_url .='&q[0]=ค่า1&q[1]=ค่า2';[/code]