phpgroupware-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Phpgroupware-cvs] phpgwapi/inc/adodb/adodb-iterator.inc.php, 1.1.2.1


From: nomail
Subject: [Phpgroupware-cvs] phpgwapi/inc/adodb/adodb-iterator.inc.php, 1.1.2.1
Date: Thu, 30 Dec 2004 05:51:47 +0100

Update of /phpgwapi/inc/adodb
Added Files:
        Branch: proposed-0_9_18-branch
          adodb-iterator.inc.php

date: 2004/12/30 04:51:47;  author: skwashd;  state: Exp;  lines: +84 -0

Log Message:
switch to ADOdb
=====================================================================
<?php

/*
  V4.54 5 Nov 2004  (c) 2000-2004 John Lim (address@hidden). All rights 
reserved.
  Released under both BSD license and Lesser GPL library license. 
  Whenever there is any discrepancy between the two licenses, 
  the BSD license will take precedence.
  
  Set tabs to 4.
  
  Declares the ADODB Base Class for PHP5 "ADODB_BASE_RS", and supports 
iteration with 
  the ADODB_Iterator class.
  
                $rs = $db->Execute("select * from adoxyz");
                foreach($rs as $k => $v) {
                        echo $k; print_r($v); echo "<br>";
                }
                
                
        Iterator code based on 
http://cvs.php.net/cvs.php/php-src/ext/spl/examples/cachingiterator.inc?login=2
 */
 

 class ADODB_Iterator implements Iterator {

    private $rs;

    function __construct($rs) 
        {
        $this->rs = $rs;
    }
    function rewind() 
        {
        $this->rs->MoveFirst();
    }

        function valid() 
        {
        return !$this->rs->EOF;
    }
        
    function key() 
        {
        return $this->rs->_currentRow;
    }
        
    function current() 
        {
        return $this->rs->fields;
    }
        
    function next() 
        {
        $this->rs->MoveNext();
    }
        
        function __call($func, $params)
        {
                return call_user_func_array(array($this->rs, $func), $params);
        }

        
        function hasMore()
        {
                return !$this->rs->EOF;
        }

}


class ADODB_BASE_RS implements IteratorAggregate {
    function getIterator() {
        return new ADODB_Iterator($this);
    }
        
        /* this is experimental - i don't really know what to return... */
        function __toString()
        {
                include_once(ADODB_DIR.'/toexport.inc.php');
                return _adodb_export($this,',',',',false,true);
        }
} 

?>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]