Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2012, 22:02
Avatar de guillemat
guillemat
 
Fecha de Ingreso: abril-2012
Mensajes: 7
Antigüedad: 12 años
Puntos: 0
Exclamación Problemas con mysql_fetch_assoc()

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.