将时间格式从mysqli默认更改为h:i在php fetch中

将时间格式从mysqli默认更改为h:i在php fetch中

问题描述:

I am trying to display a list of times on a calendar that are reserved. I want the times to display in h:i format or "00:00" but they are displaying as the format in the Mysqli database or "00:00:00". Also I need it in 12 hour not 24.

Here is my last attempt with only the start time changed:

<?php
        $air = $airc;
        include('connect.php');
        if ($result = $con->query("SELECT * FROM cal WHERE cal_air = '$air' AND cal_date = '$calday1' ORDER BY DATE_FORMAT(cal_time, '%h:%i') ASC")) 
        {
            if ($result->num_rows > 5)
            {
                echo "<div class='new'><a href='day.php?pass_id=",urlencode($calday1),"'>Multiple<BR>Reservations</a><BR>(Click for details)</div>";
            }

            elseif ($result->num_rows > 0)
            {


                while ($row = $result->fetch_object())
                {
                    echo "<a href='entry-check.php?cal_id=" . $row->cal_id . "&cal_user=" .$row->cal_user . "'>" . date('h:i', strtotime($row->cal_time)) . "</a>&nbsp to &nbsp";
                    echo "<a href='entry-check.php?cal_id=" . $row->cal_id . "&cal_user=" .$row->cal_user . "'>" . $row->cal_end . "</a>&nbsp";
                    echo "<BR>";
                }
                echo '<div class="new2"><a href="new-schedule.php?air=' .$air. '&dt=' .$calday1. '">Add</a></div>';
            }
            else
                {
                    echo '<div class="new"><a href="new-schedule.php?air=' .$air. '&dt=' .$calday1. '">No Reservations</a></div>';
                }
        }
        else
            {
                echo "Error: " . $mysqli->error;
            }
    ?>

One option is to format the time in sql. Try bellow code! Hope it helps.

<?php
        $air = $airc;
        include('connect.php');
        if ($result = $con->query("SELECT cal_id,cal_user, DATE_FORMAT(cal_time, '%h:%i') as start_time, DATE_FORMAT(cal_end, '%h:%i') as end_time, cal_date, cal_air FROM cal WHERE cal_air = '$air' AND cal_date = '$calday1' ORDER BY DATE_FORMAT(cal_time, '%h:%i') ASC")) 
        {
            if ($result->num_rows > 5)
            {
                echo "<div class='new'><a href='day.php?pass_id=",urlencode($calday1),"'>Multiple<BR>Reservations</a><BR>(Click for details)</div>";
            }

            elseif ($result->num_rows > 0)
            {


                while ($row = $result->fetch_object())
                {
                    echo "<a href='entry-check.php?cal_id=" . $row->cal_id . "&cal_user=" .$row->cal_user . "'>" . $row->start_time . "</a>&nbsp to &nbsp";
                    echo "<a href='entry-check.php?cal_id=" . $row->cal_id . "&cal_user=" .$row->cal_user . "'>" . $row->end_time . "</a>&nbsp";
                    echo "<BR>";
                }
                echo '<div class="new2"><a href="new-schedule.php?air=' .$air. '&dt=' .$calday1. '">Add</a></div>';
            }
            else
                {
                    echo '<div class="new"><a href="new-schedule.php?air=' .$air. '&dt=' .$calday1. '">No Reservations</a></div>';
                }
        }
        else
            {
                echo "Error: " . $mysqli->error;
            }
    ?>