Foros del Web » Programando para Internet » PHP »

PHP OO Consulta Obtencion datos mysql y variables

Estas en el tema de Consulta Obtencion datos mysql y variables en el foro de PHP en Foros del Web. Saludos amigos de forosdelweb, soy nuevo por aquí y en primer lugar quiero darles mis felicitaciones y agradecimientos por esta gran comunidad que poseen y ...
  #1 (permalink)  
Antiguo 11/11/2010, 12:30
 
Fecha de Ingreso: noviembre-2010
Mensajes: 67
Antigüedad: 13 años, 5 meses
Puntos: 0
Consulta Obtencion datos mysql y variables

Saludos amigos de forosdelweb, soy nuevo por aquí y en primer lugar quiero darles mis felicitaciones y agradecimientos por esta gran comunidad que poseen y la gran ayuda que nos dan a nosotros los novatos en este lenguaje.

Bueno ahora quiero darles a conocer mi duda...

Resulta que estoy trabajando con php oo. Tengo mi base de datos y todo en correcto funcionamiento. Puedo realizar consultas a esta etc. Mi problema ha surgido
en lo siguiente:

Obtengo unos datos desde la bd y los guardo en variables por medio de mysql_array_row. Luego de asignar estas variables con los datos de la bd, deseo
crear una instancia de una clase, enviando como parámetros estas variables. Realiza todo el proceso de crear la clase, entra a los metodos set de cada variable pero al momento de recuperar el valor por el get este no devuelve nada, siendo que tendría que ser igual al registro obtenido desde la bd.

Si no me entienden les envió el código

$instancia= SConexion::getInstancia();
$Conexion = $instancia->getConexionDb();
$resultado = $Conexion->consultar("SELECT tipo_recurso.identificador_tprec, tipo_recurso.nombre FROM tipo_recurso order by ".$campo.";");

if ($row = mysql_fetch_row($resultado))
{
$variable = 0;
do {

// echo $variable;
$tipo_recurso = $row[0]; //obtengo el primer valor de retorno y lo agrego a tipo_recurso

$nombre = $row[1];//obtengo el segundo valor de la consulta y lo agrego a nombre
//imprimo las variables para verificar q es correcto
echo $tipo_recurso;
echo $nombre;

// creo una nueva instancia de mi clase Tipo_Recurso y les envio como argumentos las variables obtenidas
$this->TipoRecurso = new TipoRecurso($tipo_recurso,$nombre,"","");

$nombrea = $this->TipoRecurso->getNombre();
echo "el nombre es".$nombrea;//<- Aqui esta el problema. Resulta que el valor de $nombrea deberia ser igual al $nombre. No muestra nada :(
//$tipoRecursos[$variable]=$this->TipoRecurso;// Aqui quiero agregarlo a un array... No se si es posible :(

$variable++;

} while ($row = mysql_fetch_row($resultado));


Si me pueden ayudar u orientar un poco se los agradecería.
  #2 (permalink)  
Antiguo 11/11/2010, 12:42
 
Fecha de Ingreso: diciembre-2008
Mensajes: 190
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Consulta Obtencion datos mysql y variables

Si te imprime bien en las pruebas deberías dejarnos ver la clase tipoRecurso
  #3 (permalink)  
Antiguo 11/11/2010, 12:54
 
Fecha de Ingreso: noviembre-2010
Mensajes: 67
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Consulta Obtencion datos mysql y variables

OK, aqui va la clase tipoRecurso

class TipoRecurso extends Tipo
{
/** Crea una nueva instancia de la clase recurso*/
function TipoRecurso($elidentificador,$elnombre,$ladescripc ion,$estado)
{
echo " entra al constructor";
$this->setIdentificador($elidentificador);
$this->setNombre($elnombre);
$this->setDescripcion($ladescripcion);
$this->setEstado($estado);
}



function grabar()
{
$TipoRecursoBD = new TipoRecursoBD($this);
$TipoRecursoBD->insert();


}

function borrar()
{
$TipoRecursoBD = new TipoRecursoBD($this);
$TipoRecursoBD->delete();

}

function actualizar()
{
$TipoRecursoBD = new TipoRecursoBD($this);
$TipoRecursoBD->update();

}

function deshabilitar()
{
$TipoRecursoBD = new TipoRecursoBD($this);
$TipoRecursoBD->deshabilitar();

}

function pActualizar(&$nombre,&$descripcion,&$estado)
{
$this->setNombre($nombre);
$this->setDescripcion($descripcion);
$this->setEstado($estado);
}




}

?>

esta a su vez hereda de esta

<?php

//require_once "../Servicio/error.php"; se incluye en Conexion BD
require "Acciones.php";

abstract class Tipo implements Acciones
{
protected $identificador;
protected $nombre;
protected $descripcion;
protected $estado;


/**Constructor de la clase */

function Tipo ($elidentificador,$elnombre,$ladescripcion,$estado )
{
$this->identificador = $this->setIdentificador($elidentificador);
$this->nombre = $elnombre;
$this->descripcion =$ladescripcion;
$this->estado = $estado;
}



/** Getters */

// Retorna el valor que posee el atributo descripción
function getDescripcion()
{
return $this->descripcion;
}

// Retorna el valor que posee el atributo identificador
function getIdentificador()
{
return $this->identificador;
}

// Retorna el valor que posee el atributo nombre
function getNombre()
{
echo "entra a getNombre";
return $this->nombre;
}

function getEstado()
{
return $this->estado;
}


/** Seteadores */

//Verifica que el valor del identificador ingresado no corresponda a un número menor a 0
// y lo setea en el atributo $identificador
function setIdentificador(&$elidentificador)
{

echo "entra a setIdentificador";
if($elidentificador <=0)
{
throw new error (1,"El identificador no puedes ser menor a uno");
}


$this->elidentificador = $elidentificador;

}

//Setea el valor ingresado al atributo descripcion
function setDescripcion($ladescripcion)
{
$this->descripcion = $ladescripcion;
}

// Verifica que el nombre ingresado no supere los 30 caracteres y lo setea en el atributo $nombre
function setNombre($elnombre)
{

echo "entra a setNOmbre";
if(strlen($elnombre)>30)
{
throw new error (2,"El nombre no puede contener mas de 30 caracteres");
}

$this->elnombre = $elnombre;
}

function setEstado($estado)
{
$this->estado = $estado;
}
}
?>
  #4 (permalink)  
Antiguo 11/11/2010, 14:40
 
Fecha de Ingreso: noviembre-2010
Mensajes: 67
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Consulta Obtencion datos mysql y variables

ya solucione el problema... era un error en las funciones setters de la clase Tipo...
Gracias!.

Etiquetas: mysql, obtencion, variables
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 01:02.