Lịch thả xuống trong PHP

Tôi đã tìm thấy trực tuyến chức năng PHP sau khi xác định trình đơn thả xuống lịch (ở định dạng tháng/ngày/năm). Chức năng này hoạt động tốt, nhưng tôi muốn

a) Giữ giá trị đã chọn cho Tháng, Ngày và Năm, để có thể chỉnh sửa giá trị dễ dàng (giá trị được xác định động thông qua vòng lặp foreach) và

b) muốn sử dụng lại hàm trên nhiều biến (cho đến nay, tôi đang sử dụng hàm này để xác định ngày sinh, nhưng tôi cũng muốn sử dụng hàm tương tự trên các trường bổ sung)

Thực tế là các giá trị cho Tháng, Ngày và Năm được xác định động làm tôi hơi bối rối và tất nhiên là tôi chưa thông thạo về định nghĩa hàm. Mọi sự trợ giúp sẽ rất được trân trọng

❮ Thuộc tính kiểu HTML

Ví dụ

Hiển thị điều khiển ngày

Ngày sinh nhật

Tự mình thử »


Định nghĩa và cách sử dụng

định nghĩa một bộ chọn ngày

Giá trị kết quả bao gồm năm, tháng và ngày

Mẹo. Luôn thêm thẻ để có các phương pháp tiếp cận tốt nhất


Hỗ trợ trình duyệt

Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ phần tử

Thuộc tínhtype="ngày"20. 012. 057. 014. 111. 0

cú pháp


❮ Thuộc tính kiểu HTML


Phần này giải thích ngắn gọn về các bước cần thiết để hiển thị và định cấu hình điều khiển EJ DatePicker bằng cách sử dụng các lớp trình bao bọc PHP

Tạo Dự án PHP và thêm các tập lệnh và kiểu cần thiết với sự trợ giúp của Tài liệu Bắt đầu PHP đã cho

Tạo DatePicker

Tạo điều khiển PHP DatePicker bằng cách khởi tạo lớp trình bao bọc PHP có sẵn trong không gian tên EJ như được hiển thị bên dưới

  • HTML
  • 
            $date = new EJ\DatePicker("datePicker");
            echo $date->value(new DateTime())->render();
        ?>

    Ảnh chụp màn hình sau minh họa đầu ra của đoạn mã trên

    Lịch thả xuống trong PHP

    Cấu hình DatePicker

    Đặt minDate và maxDate

    EJ DatePicker cung cấp API qua đó bạn có thể đặt giá trị ngày tối đa và tối thiểu được phép. Giá trị ngày tối thiểu và tối đa có thể được đặt khi khởi tạo như hiển thị bên dưới

  • HTML
  • 
            $date = new EJ\DatePicker("datePicker");
            echo $date->value(new DateTime())->minDate(new DateTime("11/1/2016"))->maxDate(new DateTime("11/24/2016"))->render();
        ?>

    Ảnh chụp màn hình sau minh họa đầu ra của đoạn mã trên

    Lịch thả xuống trong PHP

    Ngày cúp điện

    Bạn có thể tắt một bộ Ngày trong lịch Datepicker bằng cách sử dụng API này. Tham khảo đoạn mã dưới đây

  • HTML
  • 
            $date_blackout = new EJ\DatePicker("datePicker_blackout");
            echo $date_blackout->value(new DateTime())->blackoutDates(array(new DateTime("11/5/2016"), new DateTime("11/14/2016"), new DateTime("11/22/2016")))->render();
        ?>

    Ảnh chụp màn hình sau minh họa đầu ra của đoạn mã trên

    Lịch thả xuống trong PHP

    ngày đặc biệt

    Bạn có thể định dạng giao diện của một số ngày nhất định trong cửa sổ bật lên lịch để chỉ ra những ngày đặc biệt bằng API này. Tham khảo đoạn mã dưới đây

    Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

    Giao diện người dùng hiện tại chỉ có trình đơn thả xuống động cho các năm hiện tại chứ không phải cho các Tháng vì các tháng được mã hóa cứng như được hiển thị trong các mã hiện có. Cơ sở dữ liệu chứa các ngày trong năm 2016, 2017 và 2018 và như được hiển thị trong Hình ảnh giao diện người dùng hiện có, chỉ những năm đó mới được đưa vào trình đơn thả xuống

    Giao diện người dùng mong muốn

    Lịch thả xuống trong PHP

    Mô tả giao diện người dùng mong muốn

    Giao diện người dùng mong muốn sẽ có trình đơn thả xuống động cho các tháng hiện tại. Ví dụ: như được hiển thị trong hình ảnh cơ sở dữ liệu, năm 2018 chỉ có dữ liệu cho 2 tháng đầu tiên, đó là Tháng 1 và Tháng 2, do đó, sau khi chọn 2018 cho trình đơn thả xuống NĂM, trình đơn thả xuống Tháng sẽ chỉ hiển thị Tháng 1 và Tháng 2

    Một ví dụ khác, nếu năm 2017 chỉ có dữ liệu của các Tháng, Tháng 3, Tháng 7, Tháng 8, Tháng 10 và Tháng 12, người dùng sẽ chỉ có thể chọn các tháng đó sau khi chọn Năm 2017

    Mã đã dùng thử

    
            
    Time Period:

    Tôi đã thử viết khác biệt nhưng nó không tạo ra các tháng hiện có. Nó vẫn tạo ra tất cả các tháng bằng số. Vì vậy, tôi đã nghĩ đến việc thêm vào DATENAME để tạo tên nhưng điều đó chỉ hiển thị “Không chọn gì”