Foros del Web » Programando para Internet » PHP »

problemas con variables estaticas

Estas en el tema de problemas con variables estaticas en el foro de PHP en Foros del Web. buenas!! escribo para ver si alguien me puede ayudar con un problema de variables. tengo un sistema que arma news con tablas dinamicas y un ...
  #1 (permalink)  
Antiguo 20/05/2008, 17:13
 
Fecha de Ingreso: diciembre-2007
Mensajes: 44
Antigüedad: 16 años, 4 meses
Puntos: 0
problemas con variables estaticas

buenas!! escribo para ver si alguien me puede ayudar con un problema de variables.
tengo un sistema que arma news con tablas dinamicas y un control que hago es contar cuantos registros trae de la base. Yo utilizo un contador, que, desde dentro del objeto està funcionando bien pero cuando quiero llamarlo desde otro objeto no queda acumulado la cantidad de filas, se que esto se puede hacer con variables estaticas pero probé de varias maneras y me tira un error de sintaxis de este estilo:

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in

que es lo que estoy haciendo mal?

gracias!!!
  #2 (permalink)  
Antiguo 20/05/2008, 17:46
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas con variables estaticas

en que linea pasa esto????
aclaralo primero....

¿que dice el error completo, linea posicion?
  #3 (permalink)  
Antiguo 20/05/2008, 17:49
 
Fecha de Ingreso: diciembre-2007
Mensajes: 44
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problemas con variables estaticas

el mensaje completo dice:
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /sistemaRep/modulos/m_tablaDinamica.php on line 7

y en la linea 7 dice

private static $cont=0;
  #4 (permalink)  
Antiguo 20/05/2008, 17:59
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas con variables estaticas

usas PHP5???
la variable que esta en cuestion, esta dentro de un clase o funcion... o nada????

pon de la linea 1 a la 10... para ver....
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 20/05/2008, 18:00
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: problemas con variables estaticas

amigo ponga su codigo completo puede que falle un corchete es lo que le estan pidiendo aqui hay gente que sabe bastante y lo puede ayudar pero no son adivinos con rrespecto a su codigo pues :º

saludos....
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 20/05/2008, 18:21
 
Fecha de Ingreso: diciembre-2007
Mensajes: 44
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problemas con variables estaticas

estoy usando php 4.4.2, ese es el problema que no se como reemplazar las variables estaticas en esta versiòn
  #7 (permalink)  
Antiguo 20/05/2008, 18:45
 
Fecha de Ingreso: diciembre-2007
Mensajes: 44
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: problemas con variables estaticas

esto es lo que puse ahora viendo temas similares pero no me funciona cuando llamo al contador desde fuera de la clase, dentro si funciona bien:
este es el codigo en donde funciona bien:
class tablaDinamica{
var $error;
var $esRenderizable;
var $contfila;

function tablaDinamica(){
$this->esRenderizable=true;
}

function codigo($contenido){
//declaracion de contador estatico
static $contador;
$this->contfila=&$contador;


//DESCOMPRESION Y CHEQUEO DE DATOS
$aData=unserialize(base64_decode($contenido));
if(!isset($aData['conexion'])){
$this->error='No se ha especificado la conexión en el módulo tabla dinámica';
return false;
}
if(!isset($aData['sql'])){
$this->error='No se ha especificado la instrucción sql en el módulo tabla dinámica';
return false;
}
$tc=new tipoConexion();
$aDatosCon=$tc->getConexion($aData['conexion']);
$db=conexionGenerica::nuevaConexion($aDatosCon['tipo'],$aDatosCon['host'],$aDatosCon['username'],$aDatosCon['pass'],$aDatosCon['base']);
if(!$db){
$this->error=$db->error;
return false;
}
$query=$db->query($aData['sql']);
if(!$query){
$this->error=$db->error;
return false;
}
//ARMADO DE LA TABLA
$output[]='<table border="1" cellpadding="3" cellspacing="0">';
$output[]='<thead>';
$output[]='<tr>';
$arrayCampos=$tc->getCampos($aData['conexion'],$aData['sql']);
foreach($arrayCampos as $item){
$output[]='<th align="center">'.$item.'</th>';
}
$output[]='</tr>';
$output[]='</thead>';
while($fila=$db->fetch_assoc($query)){
$output[]='<tr>';
$this->contfila++;
foreach($fila as $item){
if(trim($item)!=''){
$output[]='<td align="center">'.$item.'</td>';
}
else{
$output[]='<td align="center">&nbsp;</td>';
}
}
$output[]='</tr>'.$this->contfila;
}
$output[]='</table>';
return implode("\r\n",$output);
}
y esto es parte de lo que pongo al llamarlo desde otra clase:

function enviarProximo(){
$tabladin=new tablaDinamica();
$i=$this->ultimoEnviado;
/*//datos puestos por PHC para prueba
define('NOMBRE_FICHERO1', 'datos-combinado_3-5_PHC.txt');
$fichero1 = fopen(NOMBRE_FICHERO1, 'a');
$x=0;
foreach ($this->dataDin as $indice){
$ahora=date('Y-m-d H:i:s');
fputs($fichero1, "indice del primer array: $x - Ahora: $ahora \n<br>");
foreach ($indice as $n => $valor){
fputs($fichero1, "dataDin:- indice $n Valor: $valor el count de datadin: ". count($this->dataDin)." el valor de i es:$i\n");
}
$x++;
}
fclose($fichero1);
//fin de datos puestos por PHC*/
if(count($this->dataDin)<=$i){
if($this->simulado){
echo 'Envio Terminado<br><hr>';
}
$this->envio->envioFinalizado($this->idEnvio);
}
if(!isset($this->dataDin[$i])){
return false;
}
$contenido=$this->grupo->combinarDatos($this->plantilla,$this->dataDin[$i]);
if($this->simulado){
echo 'Enviado a: '.$this->dataDin[$i]['email'].'<br>';
echo '<br>';
echo $contenido;
echo 'esto es la cantidad de filas:'.$tabladin->contfila;
echo '<hr>';
}

pero no me trae el valor que acumula dentro del primer codigo

perdón si fui confuso al principio!!!
  #8 (permalink)  
Antiguo 20/05/2008, 22:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: problemas con variables estaticas

primero, solo static funciona desde PHP4 ¡¡bien!!
ahora, creo que solo puedes llamar metodos que no usen $this, del modo Clase::metodo();

si alguna funcion hace uso de $this, es porke ha sido instanciada antes de usarase... ya sabes, $foo=new Clase; y ya luego si podemos usar, $foo->bar(); pero NO Clase::bar() ......supongo
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 08/12/2010, 21:59
 
Fecha de Ingreso: diciembre-2010
Mensajes: 2
Antigüedad: 13 años, 4 meses
Puntos: 0
Pregunta problemas con variables estaticas

Hola,

No se de PHP, me pasaron un codigo de un sitio que funciona bien, es para envio de formulario. pero me aparece el siguiente mensaje

Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/portable/public_html/includes/class.phpmailer.php on line 53


la linea 53 solo dice: public $Priority = 3;


un poco mas del codigo es:

if (version_compare(PHP_VERSION, '5.0.0', '<') ) exit("Sorry, this version of PHPMailer will only run on PHP version 5 or greater!\n");

class PHPMailer {

/////////////////////////////////////////////////
// PROPERTIES, PUBLIC
/////////////////////////////////////////////////

/**
* Email priority (1 = High, 3 = Normal, 5 = low).
* @var int
*/
public $Priority = 3;

/**
* Sets the CharSet of the message.
* @var string
*/
public $CharSet = 'iso-8859-1';


¿como lo puedo resolver?
gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:41.