Условно, если блок не влияет на мой код в php - PullRequest
0 голосов
/ 06 января 2020

У меня есть система календаря, которую я написал для системы бронирования, которая через ajax циклически перебирает дни месяца и отображает их, показывая доступные слоты для каждого дня каждого месяца для каждого года. Для текущего года отображаются только доступные месяцы, включая текущий месяц.

Теперь я попытался изменить сценарий, чтобы отображать «Закрытое бронирование» для текущего дня и прошедших дней текущего месяца текущего год.

Проблема, с которой я столкнулся сейчас, заключается в том, что я не могу заставить ее работать так, как хочу.

Думая об этом, логика c заключается в том, что если это текущий год и текущий месяц, то текущие дни и прошедшие дни должны читаться как «Закрыто бронирование», поэтому я создал условное «если» блок, в котором указано, что для текущего года и текущего месяца прошедшие дни должны отображаться как «Закрыто бронирование», но должны быть доступны другие дни и другие месяцы.

Но проблема в том, что в каждом месяце за каждый год написано «Закрыто бронирование» за те же последние дни. Это как условие, если блок не входит в игру.

Я попробовал все, но не могу понять. Я верю, что это будет маленькая вещь, по которой я скучаю, но не могу понять это.

Так что любая помощь приветствуется. Как говорится, две головы лучше, чем одна.

Мой код ниже:

        if($_POST){

        date_default_timezone_set('Africa/Lagos');
        $date = date('Y-m-d');

        $cimslots = "30";
        $year = $_POST['year'];
        $month = $_POST['month'];
        $days = date('j');
        $daysinmonth = date('t',mktime(0,0,0,$month,1,$year));
        $curday = date('d');
        $curmonth = date('n');
        $curyear = date('Y');
    }

    <div id="calendar-display">
            <?Php for($day = 1; $day <= $daysinmonth; $day++){ 

                $checkday = date("l", mktime(0, 0, 0,$month,$day,$year));

                $query = "SELECT cimID, screeningdate, paymentstatus FROM cimbooking WHERE YEAR(screeningdate)=? AND MONTH(screeningdate)=? AND DAY(screeningdate)=?";
                $stmt = $connQlife->prepare($query);
                $stmt->bind_param('sss', $year, $month, $day);
                $stmt->execute();
                $stmt->store_result();
                $stmt->bind_result($cimID, $screeningdate, $paymentstatus);
                $stmt->fetch();
                $totalnumrows = $stmt->num_rows;
                $stmt->close();

                $availableslots = $cimslots - $totalnumrows;


                $querypubhols = "SELECT phdateID, phdate, phdetail FROM pubhols WHERE YEAR(phdate)=? AND MONTH(phdate)=? AND DAY(phdate)=?";
                $stmtpubhols = $connQlife->prepare($querypubhols);
                $stmtpubhols->bind_param('sss', $year, $month, $day);
                $stmtpubhols->execute();
                $stmtpubhols->store_result();
                $stmtpubhols->bind_result($phdateID, $phdate, $phdetail);
                $stmtpubhols->fetch();
                $stmtpubhols->close();
    ?>

    <div class="calendarcont">  
        <?Php if (($checkday != "Sunday")&&($checkday != "Saturday")&&($phdate == "")) { ?>
             <div class="calendarheadercont">
                 <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$year)); ?></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,$year)); ?></div>
                     <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$year)); ?></div>
                 </div>
                 <?Php if (($year = $curyear)&&($month = $curmonth)&&($day > $curday)){ ?>
                    <div class="calendartextcont">
                        <?Php if ($availableslots > 5){ ?>
                            <div class="calendartextg">Available slots: <?Php echo $availableslots; ?></div>
                        <?php } ?>
                        <?Php if (($availableslots >= 1)&&($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 >= 1){ ?>
                        <label class="calendarcheckbox">Select
                            <input type="checkbox" name="screening" id="screening" value="<?Php if ($screeningdate=="") {echo date('Y-m-d', mktime(0,0,0,$month,$day,$year)); }else{ echo $screeningdate; } ?>">
                            <span class="checkmark"></span>
                        </label>
                    <?php } ?>
                 <?php } else { ?>                          
                    <div class="calendartextcont">
                        <div class="calendartextr">Booking Closed!</div>
                    </div>
                 <?php } ?>
             </div>                        
             <?Php }else if ($checkday == "Sunday"){ ?>
             <div class="calendarheadercont">
                <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$year)); ?></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,$year)); ?></div>
                    <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$year)); ?></div>
                </div>
                <div class="calendartextcont">
                    <div class="calendartextr">Closed On Sundays!</div>
                </div>
             </div>
             <?Php }else if ($checkday == "Saturday"){ ?>
             <div class="calendarheadercont">
                <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$year)); ?></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,$year)); ?></div>
                     <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$year)); ?></div>
                 </div>
                 <div class="calendartextcont">
                     <div class="calendartextr">No Screening!</div>
                 </div>
             </div>
             <?Php }else if ($phdate != ""){ ?>
             <div class="calendarheadercont">
                <div class="calendarday"><?Php echo date("l", mktime(0, 0, 0,$month,$day,$year)); ?></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,$year)); ?></div>
                   <div class="calendardate"><?Php echo date("j", mktime(0,0,0,$month,$day,$year)); ?></div>
                </div>
                <div class="calendartextcont">
                    <div class="calendartextr"><?Php echo $phdetail; ?></div>
                </div>
             </div>
             <?Php } ?>                     
          </div>
      <?Php } ?>                   
      </div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...