$list是一个二维数组,存放由数据库取来的记录,
程序的目的是:根据每条记录中获取到的regionid得到regionname并将其添加到数组中.
现在的问题是:这个循环每次只能输出一条记录.
$this->get_region可以正常工作,在输出的一条记录里,可以获取到内容.类中有问题的一段代码:$list = array();
while ($row = $this -> db -> fetch_assoc()) {
$row['regionname'] = $this -> get_region($row['regionid']);
$list[] = $row;
}

解决方案 »

  1.   

    由于在类中无法处理成功,我又把处理移到调用的页面上去
    foreach ($list as $key => $value) {
    $list[$key]['regionname']=$list[$key]['regionid'];
    }
    但是这个regionname根本就没有加上去.
      

  2.   

    print_r($list);
    我想看看到底都是啥东西.
      

  3.   

    print_r($list); 看看输出什么结果
      

  4.   

    谢谢大家!
    $list:
    在类里的时候就只有那一条可以输出的记录数组;
    在调用页面的时候,记录数正常,但是数组里没有regionname这一项.
      

  5.   

    我用的smarty,开着xdebug,有问题可以看到.
    但是事情就是这么怪异.
    难道和我用的数据库类有关?
    数据库类我用的zebra_database.
      

  6.   

    贴上print_r($list);后的结果。 还有表结构什么样的? 想要什么结果。
      

  7.   

    zebra_database好用嘛?看了下代码好像封装得蛮好
      

  8.   

    晕了,没法贴图,文字有点难看,凑合着看吧.$list
    Smarty_Variable Object (3)
    ->value = Array (3)
      0 => Array (6)
        buildingsid => "2"
        building_name => "地中海"
        devid => "2"
        uid => "1"
        regionid => "2"
        map => ""
      1 => Array (6)
        buildingsid => "3"
        building_name => "横刀夺爱"
        devid => "2"
        uid => "1"
        regionid => "3"
        map => null
      2 => Array (6)
        buildingsid => "4"
        building_name => "共和国之辉"
        devid => "2"
        uid => "1"
        regionid => null
        map => null
    ->nocache = false
    ->scope = "Smarty root"--------要显示的效果---------
    楼盘名称  区域  是否地图  操作
    地中海     2  地图未标注  修改
    横刀夺爱  3  地图未标注  修改
    共和国之辉  地图未标注  修改如果在类里处理的话,就只有"地中海"那一条记录,如果放到调用页面的话(其实也是用的类里的方法,只不过是把方法改成public罢了,处理数据的地方有调整,但是sql语句没有发生变化),就是现在看到的这个样子.数据库表结构有四十多项,因为我要输出成一个只显示名称等的列表,其中包含区域这一项.
    区域这项在这个表中是一个ID号,文字内容在另一个字典里存着,所以需要在输出的时候,从另一个表里取出相关数据加到这个list的数组中以备调用.
      

  9.   

    本帖最后由 PhpNewnew 于 2012-02-05 01:52:39 编辑