首页 > 解决方案 > 如何获取选定月份中日历日的for循环列表不显示过去的月份和日期

问题描述

请我在我的商场问题上需要帮助。我有一个 for 循环,它显示一个月中的所有日子,并带有一个复选框,可以根据所选月份选择一个月中的任何一天。我需要不显示列表,首先是已经过去的任何月份,对于当前月份,已经过去的任何一天。无法找出在 for 循环中执行此操作的最佳方法。

date_default_timezone_set('Africa/Lagos');
        $date = date('Y-m-d H:i:s');

        $cimslots = "25";
        $curyear = date("Y");
        $month = $_POST['month'];
        $day = date('j');
        $daysinmonth = date('t',mktime(0,0,0,$month,1,$curyear));

        <div class="calendarcont">
            <?Php if ($checkday != "Sunday") { ?>
                <div class="calendarheadercont">
                     <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$curyear)); ?></div>
                </div>
                <div class="clear_1"></div>
                <div class="calendarsubcont">
                    <div class="calendardatecont">
                        <div class="calendarmonth"><?Php echo date("M", mktime(0,0,0, $month,$day,$curyear)); ?></div>
                        <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$curyear)); ?></div>
                    </div>
                    <div class="calendartextcont">
                        <?Php if ($availableslots > 5){ ?>
                            <div class="calendartextg">Available slots: <?Php echo $availableslots; ?></div>
                        <?php } ?>
                        <?Php if ($availableslots <= 5){ ?>
                           <div class="calendartexto">Available slots: <?Php echo $availableslots; ?></div>
                        <?php } ?>
                        <?Php if ($availableslots == 0){ ?>
                            <div class="calendartextr">No Slots Available!</div>
                        <?php } ?>
                     </div>
                            <?Php if ($availableslots != 0){ ?>
                            <label class="calendarcheckbox">Select
                                <input type="checkbox" name="screening" id="screening" value="<?Php if ($screeningdate=="") {echo date('Y-m-d H:i:s', mktime(0,0,0,$month,$day,$curyear)); }else{ echo $screeningdate; } ?>">
                                <span class="checkmark"></span>
                            </label>
                            <?php } ?>
                        </div>                        
                        <?Php }else if ($checkday == "Sunday"){ ?>
                        <div class="calendarheadercont">
                            <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$curyear)); ?></div>
                        </div>
                        <div class="clear_1"></div>
                        <div class="calendarsubcont">
                            <div class="calendardatecont">
                                <div class="calendarmonth"><?Php echo date("M", mktime(0,0,0, $month,$day,$curyear)); ?></div>
                                <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$curyear)); ?></div>
                            </div>
                            <div class="calendartextcont">
                                <div class="calendartextr">Closed On Sundays!</div>
                            </div>
                        </div>
                        <?Php } ?>                                                                  
                    </div>
                <?Php } ?>                   
                </div>

标签: phparrays

解决方案


您可以返回您指定的两个日期之间的所有日期并将它们放入数组中。

您可以使用date()指定开始日期并将结束日期设置为您想要的任何日期

然后你可以在你的 for 循环中使用这个数组

查看这篇文章,详细了解如何实现这一点


推荐阅读