summaryrefslogtreecommitdiff
path: root/framework/3rdParty/adodb/adodb-iterator.inc.php
diff options
context:
space:
mode:
authorwei <>2006-05-18 08:16:21 +0000
committerwei <>2006-05-18 08:16:21 +0000
commit1f8410794c8213d87227fabae2114a3be8033ece (patch)
tree68571a616595e5e01f32d68cb79b689dd02d2529 /framework/3rdParty/adodb/adodb-iterator.inc.php
parent3d437d9dcd37dc901f53ca3322ba118851e3c676 (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.php85
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