0

所以我有一个从数据库中获取 6 次的查询(这些可以是空白的,因此应该被忽略),我想遍历结果并选择每个时间中的一个并按升序排列它们。到目前为止,当我试图回显这段代码时,我实际上并没有得到结果。

$rndQuery=$this->DB->prepare("select time1, time2, time3, time4, time5, time6 
                                from customers
                                where customer_cycle_uid=".$this->DB->quote_smart($cycleRow['uid'])."
                                    and customer_uid=".$this->DB->quote_smart($customerRow['uid'])."
                                    and (blistered='1')
                                    and (prn!='1')");
    $rndResult=$this->DB->query($rndQuery);
    $rndCount=$this->DB->numRows($rndResult);
    $rounds = array();

    while($rndRow=$this->DB->fetchArray($rndResult))
    {
        $rounds = array_merge($rounds, array_unique(array_filter($rndRow)));    
    }
    $rvalues = array_values($rounds);

我试图以一个时间数组结束,例如 0700、1200、1500、1800、2200。应该注意的是,如果有超过 6 个不同的时间,这将创建超过 6 个数组实体。

4

1 回答 1

0

假设您的查询返回您想要的行,这里有一些 PHP 来执行排序部分:

$rounds = array();
while($rndRow=$this->DB->fetchArray($rndResult)) {
    sort($rndRow);
    $rounds[] = array_unique($rndRow);
}
于 2013-10-25T15:12:22.507 回答