补:
$this中的方法是封装好了的,是对db操作的,

解决方案 »

  1.   

    就是从foreach开始没有执行下去,,
      

  2.   

    楼主你还把他保存在数组里,然后接下来用遍历数组再update,本来就有点画蛇添足的意味,select里直接更新就可以了.另外                $items = array("user_id"    => $record["user_id"], 
                                  "used"      => $record["used"], 
                                    );  
    你这样写,数组只有二条索引为user_id和used的记录.
    你应该改成                $items[] = array("user_id"    => $record["user_id"], 
                                  "used"      => $record["used"], 
                                    );  
      

  3.   

    $sql="select used FROM leave_balance where leave_type=11 and used>0 and year=2008 "; $items = array("user_id"    => $record["user_id"], //这里是否会报错和环境的配置有关系
    这里有个逻辑问题 user_id 这个怎么会这个字段呢而且$items 在 while($record = $this->db->nextRecord()) 循环中 被赋值了N次 呵呵foreach ($items as $item)
    $item 第1次循环的时候 应该是 空值 第2次循环的时候 是used $sql_update=" update leave_balance set used=used-?,balance=valid-used  where user_id=? and leave_type=1 and year=2008"; 
          $main = array($item["used"],$item["user_id"]); 
    $ret=$this->db->execute($sql_update, $main); 这里执行的UPDATE 期望的值是错的 呵呵
      

  4.   

    $items = array("user_id"    => $record["user_id"],
                                  "used"      => $record["used"],
                                    );  
    这里有问题。。这里$items的值是你查出来的最后的那个值。所以整个$items就只有一条记录。。update的话,也是只是update最后那条记录。。如五楼的那样改一下吧。
      

  5.   

    $items=array(); 
    已定义了array;
    五楼的方法我试了,没用,
    就是从foreach开始,没有运行下去,上面一行都可echo 结果,
    什么问题??
      

  6.   

    while($record = $this->db->nextRecord()) 
                { 
                    $items = array("user_id"    => $record["user_id"], 
                                  "used"      => $record["used"],     //这里有“,”行吗?
                                    );  
              
            } 
      

  7.   

    while($record = $this->db->nextRecord()) 
                { 
                    $items = array("user_id"    => $record["user_id"], 
                                  "used"      => $record["used"],     //这里有“,”行吗?
                                    );  
              
            } 
      

  8.   

     我已用其它的方法解决了这问题了,
     重新写了一function  把items中和值做为参数写的,
     问题是解决了,
     可这foreach 问题大家还要 讨论吗,大家请便,我先把分给大家吧,