Làm cách nào để lọc dữ liệu trong PHP bằng trình đơn thả xuống?

Xin chào, tôi đang tìm bộ lọc thả xuống tương tự trong php như thế này nhưng với tìm kiếm cơ sở dữ liệu. Tôi muốn lọc các biểu đồ của mình bằng cách sử dụng Theo năm sẽ hiển thị tổng số cuộc hẹn trong từng kỹ năng cho năm đã chọn đó

Đây là mã php của tôi, nơi tôi đã cố gắng vẽ hai biểu đồ, một biểu đồ cho tất cả các năm và biểu đồ tiếp theo để chọn theo năm

cảm ơn rất nhiều vì sự giúp đỡ của bạn xin vui lòng

 PDO::ERRMODE_EXCEPTION,
                            \PDO::ATTR_PERSISTENT => false
                        )
                    );
	// qurey for chart render for total appointments for all time topic-wise
    $handle = $link->prepare("SELECT COUNT(*) as count, a.id_skill, a.ap_meet_date, s.skill FROM appointment a,skills_data s WHERE a.id_skill=s.id_skill and a.ap_status = 'complete' GROUP BY id_skill");
    $handle->execute(); 
    $result = $handle->fetchAll(\PDO::FETCH_OBJ);
    
    foreach($result as $row){
        array_push($dataPoints, array("label"=> $row->skill, "y"=> $row->count));
    }
    $link = null;
    
    
    // OTHER USEFUL QUERIES
    
    // qurey for disticnt years in appointment table
    $year = ("SELECT DISTINCT YEAR(ap_meet_date) FROM appointment As YEAR");
    
    // qurey for chart render for total appointments topic-wise in each year
    $sesult_by_year = ("SELECT a.id_skill, YEAR(a.ap_meet_date) As YEAR, s.skill,COUNT(*) as count FROM appointment a,skills_data s WHERE a.id_skill=s.id_skill and a.ap_status = 'complete' GROUP BY id_skill, YEAR ORDER BY YEAR");
    
    // example query for 2017 and 2018 that can be used to print directly for 2017 and 2018
    $result_2017 = ("SELECT a.id_skill, YEAR(a.ap_meet_date) As YEAR, s.skill,COUNT(*) as count FROM appointment a,skills_data s WHERE a.id_skill=s.id_skill AND a.ap_status = 'complete' AND YEAR(a.ap_meet_date) = '2017' GROUP BY id_skill");
    $result_2018 = ("SELECT a.id_skill, YEAR(a.ap_meet_date) As YEAR, s.skill,COUNT(*) as count FROM appointment a,skills_data s WHERE a.id_skill=s.id_skill AND a.ap_status = 'complete' AND YEAR(a.ap_meet_date) = '2018' GROUP BY id_skill");
    
    foreach($result as $row){
        array_push($dataPoints2018, array("label"=> $row->skill, "y"=> $row->count));
    }
    $link = null;
		
}
catch(\PDOException $ex){
    print($ex->getMessage());
}
	
?>


 












$value) { echo ''; } } ?>

Làm việc với `ajax` trở nên phức tạp hơn khi chúng ta muốn sử dụng `PHP frameworks` thay vì sử dụng PHP thuần túy. Vì `Codeigniter` dựa trên `mẫu MVC`, nên chúng tôi cũng phải xem xét mẫu định tuyến ứng dụng.  


Mục lục


chúng tôi muốn lọc tên chủ đề theo các chủ đề đã chọn. Với mục đích này, chúng ta phải tạo hai bảng khóa học và môn học. Bảng các khóa học sẽ chứa hai trường id và tên khóa học và bảng môn học sẽ có ba thuộc tính id, tên_môn học và khóa_học

Bộ điều khiển người dùng. php

Tạo bộ điều khiển người dùng như sau;

 load -> model('course_model');

}

 function Register() {

 $data['courses'] = $this -> course_model -> get_courses();

 $this -> load -> view('test/post_view', $data);

 }



 function get_subjects($course){

 $this->load->model('subject_model');

 header('Content-Type: application/x-json; charset=utf-8');

 echo(json_encode($this->subject_model->get_subjects($course)));

}

}

Thêm mô hình

Bây giờ chúng ta sẽ thêm các mô hình

chủ đề_mô hình. php

 load -> database();

}


function get_subjects($course = null){

 $this->db->select('id, subject_name');

 if($course != NULL){

 $this->db->where('course_id', $course);

 }

 $query = $this->db->get('subjects');

 $subjects = array();


 if($query->result()){

 foreach ($query->result() as $subject) {

 $subjects[$subject->id] = $subject->subject_name;

 }

 return $subjects;

 }else{

 return FALSE;

 }

}


}

?>

Course_model. php

 load -> database();

}

function get_subjects() {

 $this -> db -> select('id, subject_name');

 $query = $this -> db -> get('courses');

$courses = array();

if ($query -> result()) {

 foreach ($query->result() as $course) {

 $courses[$course -> id] = $course -> course_name;

 }

 return $courses;

 } else {

 return FALSE;

 }

 }

}

?>

Khung nhìn. php

Bây giờ chúng ta sẽ tạo một khung nhìn. tập tin php;



 

 

 //  option").remove(); //first of all clear select items

 var course_id = $('#course').val(); // here we are taking course id of the selected one.

 $.ajax({

 type: "POST",

 url: "http://localhost/test/user/get_cities/"+course_id, //here we are calling our user controller and get_subjects method with the course_id



 success: function(subjects) //we're calling the response json array 'subjects'

 {

 $.each(subjects,function(id,subject) //here we're doing a foeach loop round each subject with id as the key and city as the value

 {

 var opt = $(''); // here we're creating a new select option with for each subject
 opt.val(id);
 opt.text(subject);
 $('#subjects').append(opt); //here we will append these new select options to a dropdown with the id 'subjects'
 });
 }
 });
 });
 });
 // ]]>

 





 

Bây giờ khi bạn chọn khóa học, các chủ đề liên quan sẽ tự động xuất hiện trong danh sách thả xuống


Phần kết luận

Trong bài viết này, chúng ta đã học cách `lọc bản ghi` từ `cơ sở dữ liệu` với `trình đơn thả xuống` bằng cách sử dụng `PHP codeigniter`

Làm cách nào để lọc bằng cách sử dụng trình đơn thả xuống trong PHP?

Bộ lọc thả xuống nhiều lựa chọn trong PHP với Tìm kiếm cơ sở dữ liệu .
tập lệnh cơ sở dữ liệu. Tập lệnh sau được sử dụng để tạo cấu trúc cơ sở dữ liệu và kết xuất dữ liệu cần thiết cho ví dụ này. .
Bộ lọc tìm kiếm HTML với danh sách thả xuống Đa lựa chọn. .
MySQL SELECT Query để lọc kết quả cơ sở dữ liệu dựa trên các quốc gia được chọn

Làm cách nào để chọn giá trị thả xuống từ cơ sở dữ liệu trong PHP?

Cách lưu trữ giá trị thả xuống trong cơ sở dữ liệu bằng PHP
Tạo bảng & cơ sở dữ liệu SQL
Kết nối PHP với MySQL
Tạo trường nhập liệu cho tùy chọn chọn
Chèn Chọn tùy chọn trong cơ sở dữ liệu
Chèn Chọn Giá trị Tùy chọn với một Giá trị Đầu vào khác bằng PHP & MySQL

Làm cách nào để tìm kiếm và lọc dữ liệu trong PHP?

Hàm PHP filter_var() . Hàm filter_var() lọc một biến duy nhất bằng một bộ lọc được chỉ định. Phải mất hai phần dữ liệu. Biến bạn muốn kiểm tra.

Làm cách nào để tìm kiếm dữ liệu bộ lọc trong PHP với trình đơn thả xuống bằng Ajax?

Chức năng đa lựa chọn với hộp kiểm được xử lý bằng plugin Bootstrap-select với PHP, MySQL và Ajax. .
Bước 1. Tạo bảng cơ sở dữ liệu MySQL. .
Bước 2. Tạo danh sách thả xuống nhiều lựa chọn. .
Bước 3. Hiển thị Bản ghi Tìm kiếm từ Danh sách thả xuống Nhiều lựa chọn. .
Bước 4. Tải bản ghi từ bảng cơ sở dữ liệu MySQL