พัฒนา phpBB 3.1 : ตัวอย่างการเขียนค้นหาด้วย text field + List box + cancel

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

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

ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 28508
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

พัฒนา phpBB 3.1 : ตัวอย่างการเขียนค้นหาด้วย text field + List box + cancel

โพสต์ที่ยังไม่ได้อ่าน โดย thatsawan »

โค้ด: เลือกทั้งหมด

$search = request_var('search_word', '', true); // รับค่าจาก text ธรรมดากรอกเข้าไปเอง
        $search_status = request_var('search_status', 'ALL', true); // รับค่าจาก List box
        $search_position = request_var('search_position', 'ALL', true);  // รับค่าจาก List box
        $cancel = request_var('cancel', '', true);  // การสร้างเมนู cancel
        $start = request_var('start', 0); // ตัวแปรที่จะเอาไว้เเบ่งหน้า
        
         $bottum_search = request_var('search', '', true); // รับค่าจาก button search
        
เช็ค if เพิ่มใส่ sql

โค้ด: เลือกทั้งหมด

  $a_search[] = 1 . ' ';
        if (!empty($bottum_search)) {  //เช็คว่ามีการค้นหาหรือไม
            if (!empty($search)) {
                $a_search[] = " (ads_name LIKE '%" . $db->sql_escape($search) . "%' OR ADS_LINK LIKE '%" . $db->sql_escape($search) . "%' OR ads_detail LIKE '%" . $db->sql_escape($search) . "%' ) ";
            }
            if (($search_status != 'ALL')) { // อันนี้เช็คว่า
                $a_search[] = " ads_status = " . (int) ($search_status) . " ";
            }
            if (($search_position != 'ALL')) {
                $a_search[] = " ads_position = '" . $db->sql_escape($search_position) . "' ";
            }
        }
2015-11-03_0-45-33.png
2015-11-03_0-45-33.png (12.96 KiB) Viewed 1659 times

โค้ด: เลือกทั้งหมด

Array
(
    [0] => 1 
    [1] =>  (ads_name LIKE '%กลาง%' OR ADS_LINK LIKE '%กลาง%' OR ads_detail LIKE '%กลาง%' ) 
)
2015-11-03_0-46-19.png
2015-11-03_0-46-19.png (11.41 KiB) Viewed 1659 times

โค้ด: เลือกทั้งหมด

Array
(
    [0] => 1 
    [1] =>  (ads_name LIKE '%กลาง%' OR ADS_LINK LIKE '%กลาง%' OR ads_detail LIKE '%กลาง%' ) 
    [2] =>  ads_position = 'c' 
)
2015-11-03_0-47-38.png
2015-11-03_0-47-38.png (12.73 KiB) Viewed 1659 times

โค้ด: เลือกทั้งหมด

Array
(
    [0] => 1 
    [1] =>  (ads_name LIKE '%กลาง%' OR ADS_LINK LIKE '%กลาง%' OR ads_detail LIKE '%กลาง%' ) 
    [2] =>  ads_status = 1 
    [3] =>  ads_position = 'c' 
) 

โค้ด: เลือกทั้งหมด

  $sql_ary = array(
            'SELECT' => '*',
            'FROM' => array(
                $table_prefix . 'm_slide_ads' => 'f',
            ),
            'WHERE' => implode('AND', $a_search),
            'ORDER_BY' => 'ads_name'
        );
        $sql = $db->sql_build_query('SELECT', $sql_ary);

        $per_page = request_var('list', $config['topics_per_page']); //$config['topics_per_page']
        $result = $db->sql_query_limit($sql, $per_page, $start);
        while ($row = $db->sql_fetchrow($result)) {
            $template->assign_block_vars('links', array(
               //...
            ));
        } 
บุคคลทั่วไป

Re: พัฒนา phpBB 3.1 : ตัวอย่างการเขียนค้นหาด้วย text field + List box + cancel

โพสต์ที่ยังไม่ได้อ่าน โดย บุคคลทั่วไป »

phpBB3.3 ระบบสมาชิกใส่เครื่องมือค้นหาแบบนี้ได้มั็ย
ตอบกลับโพส
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 83