Hướng dẫn change select options based on another select php mysql - thay đổi các tùy chọn đã chọn dựa trên một lựa chọn php mysql khác
Giống như đã nói, bạn có thể sử dụng Ajax. Có một cách không phải là Ajax tĩnh, nhưng bằng cách này, nó tốt hơn về lâu dài. Show Về cơ bản, những gì bạn làm với jQuery đó là lắng nghe một sự thay đổi trong hộp chọn lục địa và khi thay đổi xảy ra, bạn sẽ yêu cầu máy chủ hỏi: "Đưa cho tôi tất cả các quốc gia trong lục địa này". Bạn nên có một cơ sở dữ liệu cho việc này hoặc bạn có thể ánh xạ chúng trong các đối tượng tĩnh chỉ để kiểm tra nó.
Điều này tất nhiên sẽ khiến bạn thêm
Bây giờ ở phía máy chủ mã PHP thực tế (getCountries), bạn có thể làm một cái gì đó như:
Mã này có thể thách thức nhất được cải thiện, nhưng tôi đã cố gắng giải thích nó theo một cách dễ hiểu. Ngoài ra, bạn nên kiểm tra: JQuery Ajax Fopulation Dropdown với dữ liệu phản hồi JSON Bản demo của danh sách thả xuống được liên kết bằng cách sử dụng AJAX & PHP Hãy nhớ rằng, đây là những kết quả đầu tiên từ tìm kiếm của Google do đó, lần tới, hãy cố gắng tìm kiếm trong bản thân Stack Overflow để tránh các câu hỏi trùng lặp.try to search within stack overflow itself to avoid duplicate questions. bởi Vincy. Sửa đổi lần cuối vào ngày 8 tháng 7 năm 2022. Các thả xuống phụ thuộc là nhiều trường thả xuống có giá trị phụ thuộc vào sự thả xuống khác và chúng được tải động dựa trên lựa chọn người dùng. Dữ liệu dựa trên đó các tùy chọn thả xuống phụ thuộc được tải có thể được cung cấp dưới dạng đầu vào hoặc được tính toán theo ngữ pháp. Ví dụ: nếu chúng tôi muốn hiển thị ngôn ngữ ngôn ngữ trong một thả xuống phụ thuộc vào khu vực, chúng tôi có thể cung cấp khu vực làm đầu vào hoặc tính toán theo chương trình khu vực bằng cách sử dụng Dịch vụ GEO. Xem bản demo Chúng ta đã thấy cách tải thả xuống phụ thuộc dựa trên các giá trị đã chọn của một danh sách thả xuống khác. Chúng ta có thể tạo dòng thác phụ thuộc & nbsp; Dropdown như chúng ta đã thấy ở ví dụ: Dropdown phụ thuộc vào thành phố quốc gia & NBSP; Dropdown. Trong bài viết này, chúng ta sẽ thấy cách tải các tùy chọn thả xuống phụ thuộc dựa trên nhiều giá trị được chọn trong một thả xuống khác. Trong ví dụ này, tôi đã cho thấy danh sách quốc gia trong một bản thả xuống nhiều lựa chọn. Khi thay đổi thả xuống này, tôi gọi JQuery AJAX để yêu cầu tệp PHP. Trong tệp PHP này, tôi đã nhận được tên quốc gia được chọn và đăng qua yêu cầu AJAX. Dựa trên kết quả quốc gia đã chọn, tôi kết nối cơ sở dữ liệu để tìm nạp kết quả trạng thái. Chúng tôi có thể chọn nhiều giá trị từ thả xuống quốc gia và các giá trị được đăng dưới dạng mảng. Tôi đã nổ ra tên quốc gia được đăng và áp dụng MYSQL trong mệnh đề để chuyển các giá trị này cho truy vấn được chọn. Ảnh chụp màn hình này cho thấy đầu ra của ví dụ phụ thuộc nhiều lựa chọn PHP JQuery. Tập lệnh cơ sở dữ liệuTập lệnh MySQL này bao gồm câu lệnh Tạo và kết xuất dữ liệu cho & nbsp; quốc gia & nbsp; và & nbsp; states & nbsp; bảng.
HTML Dropdown phụ thuộc nhiều lựa chọnTrong mã HTML sau đây, tôi đã hiển thị & nbsp; thả xuống quốc gia và tiểu bang. Thả xuống của quốc gia ban đầu được tải với & NBSP; Danh sách các quốc gia được tìm nạp từ cơ sở dữ liệu trong khi thả xuống tiểu bang không có tùy chọn. Khi chọn các tùy chọn từ các quốc gia thả xuống, chức năng getState () & nbsp; jQuery Ajax sẽ được gọi. Yêu cầu AJAX này sẽ dẫn đến danh sách & nbsp; các tùy chọn trạng thái được tải động cho thả xuống trạng thái.
chức năng jQuery để tải thả xuống phụ thuộc bằng AjaxKịch bản jQuery này hiển thị chức năng getState () & nbsp; được gọi là chọn quốc gia. Hàm này cho chuỗi phân tách dấu phẩy với danh sách quốc gia được chọn. Chuỗi này sẽ được chuyển đến mã PHP và được sử dụng trong truy vấn chọn để tìm nạp kết quả trạng thái phụ thuộc. Kết quả sẽ được trả lời theo định dạng HTML sẽ được phản ánh trong trình duyệt là các tùy chọn phụ thuộc.
Mã PHP để kết nối cơ sở dữ liệu trạng thái để tìm nạp dữ liệu phụ thuộcTrong PHP, kết quả của quốc gia được nhận và sử dụng trong một truy vấn được chọn để tìm nạp kết quả trạng thái. Nếu người dùng đã chọn nhiều quốc gia thì đầu vào sẽ được đăng ở định dạng bị nổ thông qua JQuery Ajax. Chuỗi bị nổ này được cung cấp cho truy vấn MySQL sử dụng trong mệnh đề. Dữ liệu trạng thái kết quả sẽ được lặp lại để tạo các tùy chọn chọn HTML. Đầu ra HTML này sẽ được trả lời khối AJAX để cập nhật giao diện người dùng.
Xem demodownload Trở lại đầu |