ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/COMP/WEBCONDDB/php_CondDB/adodb/adodb-iterator.inc.php
Revision: 1.1
Committed: Fri Jun 29 07:49:19 2007 UTC (17 years, 10 months ago) by kdziedzi
Branch: MAIN
CVS Tags: V01-01-02, V01-01-01, V1_01_00, V01-01-00, V1_00_01, HEAD
Log Message:
Introducing new order in project

File Contents

# User Rev Content
1 kdziedzi 1.1 <?php
2    
3     /*
4     V4.93 10 Oct 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
5     Released under both BSD license and Lesser GPL library license.
6     Whenever there is any discrepancy between the two licenses,
7     the BSD license will take precedence.
8    
9     Set tabs to 4.
10    
11     Declares the ADODB Base Class for PHP5 "ADODB_BASE_RS", and supports iteration with
12     the ADODB_Iterator class.
13    
14     $rs = $db->Execute("select * from adoxyz");
15     foreach($rs as $k => $v) {
16     echo $k; print_r($v); echo "<br>";
17     }
18    
19    
20     Iterator code based on http://cvs.php.net/cvs.php/php-src/ext/spl/examples/cachingiterator.inc?login=2
21     */
22    
23    
24     class ADODB_Iterator implements Iterator {
25    
26     private $rs;
27    
28     function __construct($rs)
29     {
30     $this->rs = $rs;
31     }
32     function rewind()
33     {
34     $this->rs->MoveFirst();
35     }
36    
37     function valid()
38     {
39     return !$this->rs->EOF;
40     }
41    
42     function key()
43     {
44     return $this->rs->_currentRow;
45     }
46    
47     function current()
48     {
49     return $this->rs->fields;
50     }
51    
52     function next()
53     {
54     $this->rs->MoveNext();
55     }
56    
57     function __call($func, $params)
58     {
59     return call_user_func_array(array($this->rs, $func), $params);
60     }
61    
62    
63     function hasMore()
64     {
65     return !$this->rs->EOF;
66     }
67    
68     }
69    
70    
71     class ADODB_BASE_RS implements IteratorAggregate {
72     function getIterator() {
73     return new ADODB_Iterator($this);
74     }
75    
76     /* this is experimental - i don't really know what to return... */
77     function __toString()
78     {
79     include_once(ADODB_DIR.'/toexport.inc.php');
80     return _adodb_export($this,',',',',false,true);
81     }
82     }
83    
84    
85     ?>