只是一个简单的问题。
假设我有几行数据,时间保存在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中的选项值)