Amigos buenas noches, soy nuevo en PHP y en POO y estoy haciendo una aplicacion con la cual tengo un par de funciones que no me corren... les muestro mi codigo y voy explicando:
class Conectar
{
//protected $ident=array();
public static function Conexion ()
{
$conexion=mysql_connect("localhost","root","");
mysql_query("SET NAMES 'UTF-8'");
mysql_select_db("asesorias");
return $conexion;
}
} //hay otras funciones que usan el atributo $ident y no las inclui, funcionan bien
class Usuario
{
protected $cedula;
protected $nombre;
protected $email;
public function __construct ($cedula,$nombre, $email)
{
$this -> cedula= $cedula;
$this -> nombre= $nombre;
$this -> email= $email;
//$this -> activo= $activo;
//$this -> tipousuario= $tipousu;
}
public function __destruct()
{
unset($this);
}
public function mostrarUsuario()
{
echo "Cedula:" . $this -> cedula;
echo "Nombre:" . $this -> nombre;
echo "Email:" . $this -> email;
//echo "Condición(1 activo, 2 inactivo):" . $this -> activo;
//echo "Tipo de Usuario:" . $this -> tipousuario;
}
public static function anoactual()
{
$sql="SELECT max(ano) FROM inscripciones";
$ano=mysql_query($sql,Conectar::Conexion()) or die(mysql_error());
while ($reg=mysql_fetch_assoc($ano))
{
$ano2[]=$reg;
}
return $ano2;
}
public static function lapsoActual()
{
$sql="SELECT max(lapso) FROM inscripciones WHERE ano=(SELECT max(ano) FROM inscripciones)";
$lap=mysql_query($sql,Conectar::Conexion()) or die(mysql_error());
while ($reg=mysql_fetch_assoc($lap))
{
$lap2[]=$reg;
}
return $lap2;
}
}
class Asesor extends Usuario
{
protected $ramaAcademica;
protected $asesora;
protected $alumnos;
public function __construct($cedula,$nombre, $email, $rama)
{
parent::__construct($cedula,$nombre, $email);
$this -> ramaAcademica= $rama;
$this->asesora=array();
$this->alumnos=array();
}
public function buscaralumnos()
{
$ced=$this->cedula;
$ano=usuario::anoactual();
$lap=Usuario::lapsoActual();
$sql="select estudiante.cedula, estudiante.nombre
FROM estudiante, inscripciones, materia, asesor, asesor_materia
WHERE estudiante.cedula=inscripciones.cedula
and materia.cod_materia=inscripciones.cod_materia
and inscripciones.ano='$ano'
and inscripciones.lapso='$lap'
and asesor.cedula='$ced'
and asesor.cedula=asesor_materia.cedula
and inscripciones.cod_materia=asesor_materia.codmateri a group by estudiante.cedula order by estudiante.cedula";
$res=mysql_query($sql,Conectar::Conexion());
while ($reg=mysql_fetch_assoc($res))
{
$this->alumnos[]=$reg;
}
return $this->alumnos;
}//esta funcion no devuelve nada porque?
public function asignaMateria()
{
$cedula=$this->cedula;
$sql="Select codmateria from asesor_materia where cedula='$cedula' AND activo='1'";
$res=mysql_query($sql,Conectar::Conexion())or die(mysql_error());
while ($reg= mysql_fetch_assoc($res));
{
$this->asesora[]=$reg;
}
return $this->asesora;
} //esta funcion no devuelve nada porque?
public function buscarMateria()
{
return $this->asesora;
}
}
les coloco la pagina donde las uso:
<?php
require_once('Include/clases.php');
//print_r($_post);
if (!isset($_SESSION)) {
session_start();}
?>
<?php
$user= $_SESSION['user'];
//$tipo= $_SESSION['tipo'];
$nom= $_SESSION['nombre'];
$ase=new Asesor($user,$_SESSION['nombre'],$_SESSION['ema'],$_SESSION['rama']);
$mate=$ase->asignaMateria();
//echo $mate['cedula'];
//$obj= $_SESSION['obj'];
$res=$ase->buscaralumnos();
print_r($ase);
?>
las consultas me funcionan en mysql, corren sin problema y me traen la info solicitada al sustituir las variables, los mysql_query trabajan puesto que no recibo msj de error por los die() y ademas que usando mysql_num_rows() me devuelven int consonos con los vistos en la BD....
Agradezco su ayuda amigos.