diff options
author | wei <> | 2006-05-18 08:16:21 +0000 |
---|---|---|
committer | wei <> | 2006-05-18 08:16:21 +0000 |
commit | 1f8410794c8213d87227fabae2114a3be8033ece (patch) | |
tree | 68571a616595e5e01f32d68cb79b689dd02d2529 /framework/3rdParty/adodb/adodb-iterator.inc.php | |
parent | 3d437d9dcd37dc901f53ca3322ba118851e3c676 (diff) |
Moved adodb to 3rdParty directory.
Diffstat (limited to 'framework/3rdParty/adodb/adodb-iterator.inc.php')
-rw-r--r-- | framework/3rdParty/adodb/adodb-iterator.inc.php | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/framework/3rdParty/adodb/adodb-iterator.inc.php b/framework/3rdParty/adodb/adodb-iterator.inc.php new file mode 100644 index 00000000..91578b98 --- /dev/null +++ b/framework/3rdParty/adodb/adodb-iterator.inc.php @@ -0,0 +1,85 @@ +<?php + +/* + V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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); + } +} + + +?>
\ No newline at end of file |