PHP foreach 问题,在线给分 补:$this中的方法是封装好了的,是对db操作的, 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就是从foreach开始没有执行下去,, 楼主你还把他保存在数组里,然后接下来用遍历数组再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"], ); $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 期望的值是错的 呵呵 $items = array("user_id" => $record["user_id"], "used" => $record["used"], ); 这里有问题。。这里$items的值是你查出来的最后的那个值。所以整个$items就只有一条记录。。update的话,也是只是update最后那条记录。。如五楼的那样改一下吧。 $items=array(); 已定义了array;五楼的方法我试了,没用,就是从foreach开始,没有运行下去,上面一行都可echo 结果,什么问题?? while($record = $this->db->nextRecord()) { $items = array("user_id" => $record["user_id"], "used" => $record["used"], //这里有“,”行吗? ); } while($record = $this->db->nextRecord()) { $items = array("user_id" => $record["user_id"], "used" => $record["used"], //这里有“,”行吗? ); } 我已用其它的方法解决了这问题了, 重新写了一function 把items中和值做为参数写的, 问题是解决了, 可这foreach 问题大家还要 讨论吗,大家请便,我先把分给大家吧, 求救:为何桌面浏览器可以显示,但用curl抓取却失败? static public function 与 public function 有什么区别啊 求网站后台菜单方案,[带权限] PHP的FTP函数 使用GD库时出现问题,急 求一MYSQL的SQL语句:每个类别取最新一条信息。 找广州PHP高手做个项目,可独立完成商业网站~~ 问一个服务器上的设置问题,在线等,急,大家帮帮忙吧 急需便宜好使的php+mysql空间,大家推荐一下 关于php批量插入数据 请大家来探讨个函数问题 问题 关于上传的比较简单的问题
"used" => $record["used"],
);
你这样写,数组只有二条索引为user_id和used的记录.
你应该改成 $items[] = array("user_id" => $record["user_id"],
"used" => $record["used"],
);
这里有个逻辑问题 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 期望的值是错的 呵呵
"used" => $record["used"],
);
这里有问题。。这里$items的值是你查出来的最后的那个值。所以整个$items就只有一条记录。。update的话,也是只是update最后那条记录。。如五楼的那样改一下吧。
已定义了array;
五楼的方法我试了,没用,
就是从foreach开始,没有运行下去,上面一行都可echo 结果,
什么问题??
{
$items = array("user_id" => $record["user_id"],
"used" => $record["used"], //这里有“,”行吗?
);
}
{
$items = array("user_id" => $record["user_id"],
"used" => $record["used"], //这里有“,”行吗?
);
}
重新写了一function 把items中和值做为参数写的,
问题是解决了,
可这foreach 问题大家还要 讨论吗,大家请便,我先把分给大家吧,