issues movig to php5 (extending html_table)
| From: | j llarens | Date: | Mon, 03 Apr 2006 01:01:59 +0000 |
| Subject: | issues movig to php5 (extending html_table) | ||
| Groups: | php.pear.general | ||
| Request: | Send a blank email to pear-general+get-23507@lists.php.net to get a copy of this message | ||
I beggining to test php 5.0.5.
I get a error using an class that extends PEAR HTML_Table, and the error happends in HTML_Table,
not in the inherited class. I could not determine the cause of the error. Can somebody guide me to
documentation/hints regarding to code migration related to PEAR?
Or PEAR can't be used with PHP5 ?
this is the class HTML_DB_Table:
<?php
/*
table from a query
*/
require_once ("HTML/Table.php");
class DB_HTML_Table extends HTML_Table {
public $aColumnLinks = array();
public $aTableLinks = array();
public $sqlData;
public $headers;
public $isForm;
public $aColTot=array();
public $aFilTot=array();
function DB_HTML_Table( $oResult, $attr, $headAttr=array(), $lForm=false ) {
$this->sqlData = $oResult;
HTML_Common::HTML_Common($attr);
}
function addheaders( $attr=null ) {
$aHeaders = $this->sqlData->tableInfo();
$acHeaders = array();
foreach( $aHeaders as $header ) {
array_push( $acHeaders, $header["name"] );
}
$this->headers = $acHeaders;
$this->addRow($acHeaders,$attr,"TH",true);
}
function addData( $attr=null, $filas=null, $pntr=null ) {
$i = is_null($filas) ? null : 0 ;
// arma columnas de totales
if(count($this->aColTot)){
foreach($this->aColTot as $numCol){
$this->aFilTot[$numCol]=0;
}
}
while ( $registro=$this->sqlData->fetchRow(DB_FETCHMODE_ORDERED,$i+$pntr) ) {
if(count($this->aColTot)){
foreach($this->aColTot as $numCol){
$this->aFilTot[$numCol]+=$registro[$numCol];
}
}
$i++;
if ( !is_null($filas) and $i == $filas+1 ) {
break;
}
$TRow="TD";
$this->addRow($registro,$attr,$TRow,false);
}
if(count($this->aColTot)){
$this->addRow($this->aFilTot,$attr,"TH",false);
}
}
function addColumnLink($url,$keyColumns,$label,$vars=array(),$attrs=null){
$linkCol = array( "?" );
for ( $x = 0; $x < $this->_rows-1; $x++ ) {
$urlVars = "";
foreach ( $vars as $key => $value ) {
$urlVars.="&".$key."=".$value;
}
foreach( $keyColumns as $varName => $varValue ) {
$urlVars.="&".$varName."=".$this->getCellContents($x+1,$varValue);
}
array_push( $linkCol, "<a
href='".$url."?".$urlVars."' "." >".$label.
"</a>" );
}
$this->addCol( $linkCol,$attrs );
}
}
?>
this code uses it, $dbc is an instance of PEAR::DB
<?php
/*
this is not the complete code, nor in the class definition
but is the minimal case
*/
require_once("DB_HTML_Table.php");
$oQ=&$dbc->query("select * from ciudad order by id");
$tb=new DB_HTML_Table($oQ);
$tb->addHeaders();
$tb->addData();
$tb->display();
$oQ->free();
?>
and gives this error:
Fatal error: call to a member function addRow() on a non-object in /usr/lib/php/HTML/Table.php on
line 416
I have no clue
__________________________________________________
Correo Yahoo!
Espacio para todos tus mensajes, antivirus y antispam ¡gratis!
¡Abrí tu cuenta ya! - http://correo.yahoo.com.ar