如何比较PHP中的MySQL时间()

时间:2016-10-14 22:58:06

标签: php mysql datetime

只是一个简单的问题。

假设我有几行数据,时间保存在db中作为time()数据类型,值为:01:00:00,03:00:00,07:00:00

现在有这3个我需要获得最大的时间并产生一个html选择,最后一个选项为(最大值+ 1)。完成后,在下面选择另一个html,选项说明>超过和<比我更需要写一个SQL查询来查找比说:04:00:00

更长的时间

我怎么能实现这个目标?

@Edit 1

好的,所以这是我的代码,它是基于codeigniter的,所以我只是给你一个想法

这是我的html选择选项的数组:

array('' => 'None', '<' => 'Longer than', '>' => 'Shorter than')

这就是我用来比较输入和db

的方法
if($durationOperator == '>') {
        $this->db->where('flightTime >', $duration);
    } elseif($durationOperator == '<') {
        $this->db->where('flightTime <', $duration);
    }

这就是我生成下拉列表的方式:

public function getLongestFlightTime() {

        $this->load->helper('Time_helper');

        $schedules = $this->getAllActiveFlights();

        $longestTime = 0;

        foreach($schedules as $schedule) {

            $flightTime = convertHoursMinutesSecondsToSeconds($schedule['flightTime']);

            echo $flightTime.' > '.$longestTime. '<br/>';

            if($flightTime > $longestTime) {
                $longestTime = $flightTime;
            }
        }

        echo $longestTime;

        return $longestTime;
    }

    public function generateDurationDropDown()
    {
        $longestDuration = gmdate("H", $this->getLongestFlightTime()) + 2;
        $i = 1;

        $dropDown[0] = 'None';

            while($longestDuration > $i) {
                array_push($dropDown, $i);
                $i++;
            }

        return $dropDown;
    }

下拉的产生似乎没有问题可能更顺畅吗?

结果是完全错误的,我认为这与我的where子句有关,因为来自输入的$ duration将是1或2或3等(html select中的选项值)

0 个答案:

没有答案