เวลาเรา search ที่ช่องสีเหลือง มัน error เพราะคิดค่าในช่องสีแดงมาด้วยค่ะ error แบบนี้ค่ะ code ที่ใช้ search ค่ะ
โค้ด: เลือกทั้งหมด
public function search($action) {
global $db, $table_prefix, $phpbb_container, $config;
// $keyword = request_var('keyword', '', TRUE);
$action = request_var('keyword', '', TRUE);
$search_txt = request_var('search_txt', '', true);
$province_list = request_var('province', 'ALL',true);
$subdistrict_list = request_var('district', 'ALL',true);
$subdistrict_list = request_var('subdistrict', 'ALL',true);
$cancel = request_var('cancel', '', true);
$submit = request_var('submit', '',true);
//echo $search_txt;
$a_search[] = 1 . ' ';
if(!empty($submit)){
if(!empty($search_txt)){
$a_search[]= "( p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND p.PROVINCE_NAME LIKE '%". $db->sql_escape($search_txt) ."%'"
. " OR p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND u.AMPHUR_NAME LIKE '%". $db->sql_escape($search_txt) ."%'"
. " OR p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND t.DISTRICT_NAME LIKE '%". $db->sql_escape($search_txt) ."%'"
. "OR p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND p.PROVINCE_ID LIKE '%". $db->sql_escape($search_txt) ."%')";
}
if (($province_list == 'ALL')) { // อันนี้เช็คว่า
$a_search[] = "p.PROVINCE_NAME = '$province_list' AND p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID";
}
if (($district_list == 'ALL')) { // อันนี้เช็คว่า
$a_search[] = "GROUP BY u.AMPHUR_ID AND p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND u.AMPHUR_NAME = " . $district_list . " ";
}
if (($subdistrict_list == 'ALL')) { // อันนี้เช็คว่า
$a_search[] = "GROUP BY t.DISTRICT_ID AND p.PROVINCE_ID = u.PROVINCE_ID
AND u.AMPHUR_ID = t.AMPHUR_ID
AND t.DISTRICT_NAME = " . $subdistrict_list . " ";
}
}
if (!empty($cancel)) {
$cancel == $user->lang['CANCLE_SEARCH'];
$redirect_uri = generate_board_url() . '/' . append_sid("app.$this->php_ext/m_thaipost");
redirect($redirect_uri);
}
////////////////// TEXT SEARCH /////////////////
// echo $search_txt;
$pagination = $phpbb_container->get('pagination');
$start = request_var('start', 0);
$per_page = request_var('per_page', 20);
$sql_ary = array(
'SELECT' => 'p.PROVINCE_ID, p.PROVINCE_NAME, u.AMPHUR_NAME, t.DISTRICT_NAME, u.POSTCODE, t.DISTRICT_ID ',
'FROM' => array(
'mod_province' => 'p',
'mod_amphur' => 'u',
'mod_district' => 't'
),
'WHERE' => implode('AND', $a_search),
);
$sql = $db->sql_build_query('SELECT', $sql_ary);
//echo $sql; exit;
$result = $db->sql_query_limit($sql, $per_page, $start);
while ($row1 = $db->sql_fetchrow($result)) {
// print_r($row1); exit();
$id = $row1['PROVINCE_ID'];
$province = $row1['PROVINCE_NAME'];
$district = $row1['AMPHUR_NAME'];
$subdistrict = $row1['DISTRICT_NAME'];
$zipcode = $row1['POSTCODE'];
$district_id = $row1['DISTRICT_ID'];
$province_list = $row1['PROVINCE_NAME'];
$district_list = $row1['AMPHUR_NAME'];
$subdistrict_list = $row1['DISTRICT_NAME'];
$this->template->assign_block_vars('m_thai_search', array(
'ID' => $id,
'PROVINCE' => $province,
'DISTRICT' => $district,
'SUBDISTRICT' => $subdistrict,
'ZIPCODE' => $zipcode,
'U_MINDPHP_DISTRICT' => $redirect_uri = generate_board_url() . '/' . append_sid("app.$this->php_ext/m_thaipost/detail/" . $district_id),
));
$this->template->assign_vars(array(
'U_MINDPHP_DETAIL' => $url,
)
);
$this->template->assign_block_vars('m_thai_list', array(
'PROVINCE' => $province_list,
));
$this->template->assign_block_vars('m_thai_list1', array(
'DISTRICT' => $district_list,
));
$this->template->assign_block_vars('m_thai_list2', array(
'SUBDISTRICT' => $subdistrict_list,
));
}
$sql_ary['SELECT'] = 'COUNT(t.DISTRICT_ID) as total_id';
$sql = $db->sql_build_query('SELECT', $sql_ary);
$result = $db->sql_query($sql);
$total_id = $db->sql_fetchfield('total_id');
$base_url = generate_board_url() . '/app.' . $this->php_ext . '/m_thaipost/keyword/';
$pagination->generate_template_pagination($base_url, 'pagination', 'start', $total_id, $per_page, $start);
return $this->helper->render('m_thaipost.html');
}