function querySub(&$parent, $table, $orderBy = null, $key = 'Id'){
$sql = "SELECT * FROM $table WHERE $key = $parent[$key]";
if($orderBy) {
$sql .= ' ORDER BY '.$orderBy;
}
$rows = query($sql);
foreach ($rows as $i => $row) {
foreach ($row as $field => $value) {
if($value === null) {
$row[$field] = '--';
}
}
$rows[$i] = $row;
}
$parent[$table] = $rows;
}

解决方案 »

  1.   

    那解释一下大致思路也可以啊
    我就没学过php。。
      

  2.   

    这里都是搞php的,去C#版问合适
      

  3.   


    //output parent,string table,string orderBy=null, string key='Id'
    function querySub(&$parent, $table, $orderBy = null, $key = 'Id'){
        $sql = "SELECT * FROM $table WHERE $key = $parent[$key]";
        if($orderBy) {
            $sql .= ' ORDER BY '.$orderBy;
        }
        $rows = query($sql);
        //上面不用我解释了吧,查询语句返回结果集
        foreach ($rows as $i => $row) {
        //循环结果集
        //foreach(string[] row in rows)
            foreach ($row as $field => $value) {
            //foreach(string value in row)
                if($value === null) {
                //if(value==null)
                    $row[$field] = '--';
                    //这里是赋值
                }
            }
            $rows[$i] = $row;
            //这里是赋值
        }
        $parent[$table] = $rows;
        //这里是赋值
    }可以用hashtable,或者数组
      

  4.   


    #运行时,必须定义一个$parent变量
    $parent = null;
    #函数的参数:
    #&$parent: 表字段值的数组
    #$table: 查询的表名
    #$orderBy: 需要排序的字段
    #$key: 作为查询条件的字段名,默认为Id
    function querySub(&$parent, $table, $orderBy = null, $key = 'Id'){
        #查询的sql语句
        $sql = "SELECT * FROM $table WHERE $key = $parent[$key]";
        #如果添加了排序字段
        if($orderBy) {
            #在$sql后面添加排序的sql语句
            $sql .= ' ORDER BY '.$orderBy;
        }
        #执行sql语句并将结果集返回给$rows
        $rows = query($sql);
        #对$rows做循环
        foreach ($rows as $i => $row) {
            #对$rows的子数组做循环
            foreach ($row as $field => $value) {
                #如果子数组中存在空值
                if($value === null) {
                    #将空值替换成"--"
                    $row[$field] = '--';
                }
            }
            #重组数组
            $rows[$i] = $row;
        }
        #将重组后的数组存入$parent数组,并以表名作为其键值
        $parent[$table] = $rows;
    }