All pastes #1081538 Raw Edit

Untitled

public text v1 · immutable
#1081538 ·published 2008-07-24 05:23 UTC
rendered paste body
class MysqlResultIterator implements Iterator, Countable {
  protected $results;
  protected $counter;
  protected $counted;
  protected $current;

  function __construct($results) {
    $this->results = $results;
    $this->counted = mysql_num_rows($this->results);
    $this->counter = 0;
    $this->current = null;
    $this->rewind();
  }

  function __destruct() {
    mysql_free_result($this->results);
  }

  function rewind() {
    mysql_data_seek($this->results, 0);
    $this->current = mysql_fetch_assoc($this->results);
    $this->counter = 0;
  }

  function key() {
    return $this->counter;
  }

  function current() {
    return $this->current;
  }

  function next() {
    $this->counter++;
    return $this->current = mysql_fetch_assoc($this->results);
  }

  function valid() {
    return $this->counted > $this->counter;
  }

  function count() {
    return $this->counted;
  }
}