Mega Code Archive

 
Categories / Php / MySQL Database
 

Recordset Class for MSSQL database

<? class Recordset { var $result, // result id $rowcount, // number of rows in result $curpos, // index of current row (begin=0, end=rowcount-1) $fieldcount, // number of fields in result $fn, // Array of fields names $rowset, // Array of fields with keys on field name $connection, // connection id $sql; // sql query //Constructor function Recordset($Sql,$Conn) { $this->connection=$Conn; $this->sql=$Sql; $this->fn=array(); $this->rowset=array(); $this->Query(); } // Execute query function Query() { $this->Close(); $this->result = @mssql_query($this->sql,$this->connection); if (!$this->result) return(0); $this->rowcount = @mssql_num_rows($this->result); $this->fieldcount = @mssql_num_fields($this->result); for ($i=1;$i<=$this->fieldcount;$i++) { $f=@mssql_fetch_field($this->result,$i-1); // Fill fields names array $this->fn[$i]=$f->name; } $this->curpos=0; } //Move to first record function MoveFirst() { $this->curpos=0; } //Return current row elements and move to next record function MoveNext() { if (!$this->result) return(0); if ($this->curpos==$this->rowcount) return(0); for($i=1;$i<=$this->fieldcount;$i++) $this->rowset[$this->fn[$i]] = @mssql_result($this->result,$this->curpos,$this->fn[$i]); $this->curpos++; return($this->rowset); } //Return true if last record function Eof() { if ($this->curpos==$this->rowcount-1) return(1); return(0); } //Return true if first record function Bof() { if (!$this->curpos) return(1); return(0); } // Free result if exist function Close() { if ($this->result && $this->rowcount) mssql_free_result($this->result); $this->result=0; $this->fn=array(); $this->rowset=array(); $this->rowcount=0; $this->fieldcount=0; } } ?>