本帖最后由 nayiren 于 2010-02-17 13:28:13 编辑

解决方案 »

  1.   

    我也在学习php
    $res = $this->query ( $sql ); 查询的结果是多个字段的值吧
    mysql_fetch_assoc()函数的作用是:从结果集中取得一行作为关联型数组
    所以 循环是为了把查询到的每个字段的值 分给付给数组对应的元素
      

  2.   

    这里有两个函数
    ----------
     * 获取数据列表
     *
     * @param string $sql 查询语句
     * @return array 二维数组
     */
    function getList($sql) {
    $res = $this->query ( $sql );
    if ($res !== false) {
    $arr = array ();
    $row = mysql_fetch_assoc ( $res );
    while ($row) {
    $arr [] = $row;
    $row = mysql_fetch_assoc ( $res );
    }
    return $arr;
    } else {
    return false;
    }
    }
    ----------
     * 获取一条记录
     *
     * @param string $sql 查询语句
     * @return array 一维数组
     */
    function getOneRow($sql) {
    $res = $this->query ( $sql );
    if ($res !== false) {
    return mysql_fetch_assoc ( $res );
    } else {
    return false;
    }
    }
    ---------------  主要是不理解getList()为何用二维数组?
      

  3.   

    哎 我也是新手 有点说不明白 大概是这样
    $row = mysql_fetch_assoc ( $res ); 这个东西 每一次得到的是一个一维数组 每个元素是字段名和他的值
    $arr [] = $row;  这个东西之后就是成了二位数组 他的元素是上面那个$row = mysql_fetch_assoc ( $res );所得到的一维数组
      

  4.   

    那个array是初始化操作。
    PHP5(?)后,在if等分支内设定的变量,分之外无法使用。
    $str="";
    $s=1;
    if($s==1){$str="yes";}
    else {$str="no";}
    echo $str;
    如果之前没有
    $str="";
    则可能会报一个notice,echo也可能没有结果输出。
      

  5.   

    貌似 比如循环一次 
    $row:
    Array
    (
        [字段1] => 值1
        [字段2] => 值1
        [字段3] => 值1
    )$arr:
    Array
    (
        [0] => Array
            (
                [字段1] => 值1
                [字段2] => 值1
                [字段3] => 值1
            )
    )