require_once("header.php");//carga configuracion inicial y functiones
//Area del programador en php
//require_once("librerias/xajax/xajax.inc.php");
$query="SELECT id_tesis from tesis";
$resultado=$sql->aplica($query);
$num_tesis=pg_num_rows($resultado);
$num_pagina=5;
function buscar($tipo,$cadena,$num_pagina)
{
$sql=new conexion();
$objResponse = new xajaxResponse();
switch($tipo)
{ //titulo
case 1:
$query="SELECT id_tesis FROM tesis where titulo_espanol ILIKE '%$cadena%'";
$num_resultados=obtenNumResultados($query);
if($num_resultados!=0)
{
$informacion= buscarPorTitulo($cadena,0,$num_pagina);
$paginas = paginacion('xajax_pagina_titulo',$cadena,$num_resultados,0,$num_pagina);
}
else
{
$informacion= "No hay resultados para $cadena";
$paginas="";
}
break;
//autor
case 2:
$query="select concat(u.nombre,u.apellidos) as nombres from usuario_lvc u, autor_asesor a where concat(u.nombre,u.apellidos) ilike '%$cadena%' and a.tipo='t' and u.id_usuario= a.id_usuario";
$num_resultados=obtenNumResultados($query);
if($num_resultados!=0)
{
$informacion= buscarPorAutor($cadena,0,$num_pagina);
$paginas = paginacion('xajax_pagina_autor',$cadena,$num_resultados,0,$num_pagina);
}
else
{
$informacion= "No hay resultados para $cadena";
$paginas="";
}
break;
//anio
case 3:
$query="SELECT id_tesis FROM tesis where anio iLIKE '%$cadena%'";
$num_resultados=obtenNumResultados($query);
if($num_resultados!=0)
{
$informacion= buscarPorAnio($cadena,0,$num_pagina);
$paginas = paginacion('xajax_pagina_anio',$cadena,$num_resultados,0,$num_pagina);
}
else
{
$informacion= "No hay resultados para $cadena";
$paginas="";
}
break;
}
$objResponse->addAssign("resultadostesis","innerHTML",$informacion);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
//busqueda por titulo
function buscarPorTitulo($cadena, $inicio, $cant)
{
$sql =new conexion();
$query="SELECT id_tesis,titulo_espanol,anio, grado_obtenido_espanol, archivo FROM tesis WHERE titulo_espanol ilike '%$cadena%' order by titulo_espanol LIMIT $cant OFFSET $inicio ";
$resultado= $sql->aplica($query);
if(pg_num_rows($resultado)!=0)
{
$tesispag="";
while($tesis=pg_fetch_array($resultado))
{
$url='"solicitudDescarga.php?tipo=tesis&archivo='.$tesis['id_tesis'].'"';
$tesispag.="
".str_replace($cadena,"$cadena",$tesis['titulo_espanol'])."
Autor(es):".obtenAutores($tesis['id_tesis'],'t')."
Asesor(es):".obtenAutores($tesis['id_tesis'],'f')."
Grado obtenido:".$tesis['grado_obtenido_espanol']."
Año:".$tesis['anio']."
";
if($tesis['archivo']!="")
$tesispag.="
";
else $tesispag.="
Descargar
";
$tesispag.="
";
}
return $tesispag;
}
else
{
return "No hay tesis con el criterio ".$cadena."";
}
}
//busqueda por autor
function buscarPorAutor($cadena, $inicio, $cant)
{
$sql =new conexion();
$query=" select u.id_usuario, concat(u.nombre,u.apellidos) as nombre_c from usuario_lvc u, autor_asesor a where concat(u.nombre,u.apellidos) ilike '%$cadena%' and a.tipo='t' and u.id_usuario= a.id_usuario order by nombre_c LIMIT $cant OFFSET $inicio ";
$resultado= $sql->aplica($query);
if(pg_num_rows($resultado)!=0)
{
$tesispag="";
while($autores=pg_fetch_array($resultado))
{
$query="SELECT t.id_tesis, t.anio, t.titulo_espanol, t.archivo, t.grado_obtenido_espanol from autor_asesor a, tesis t where a.id_usuario=".$autores['id_usuario']." and t.id_tesis=a.id_tesis";
$result= $sql->aplica($query);
if(pg_num_rows($result)!=0)
{
while($tesis=pg_fetch_array($result))
{
$url='"solicitudDescarga.php?tipo=tesis&archivo='.$tesis['id_tesis'].'"';
$tesispag.="
".$tesis['titulo_espanol']."
Autor(es):".str_replace($autores['nombre_c'],"".$autores['nombre_c']."",obtenAutores($tesis['id_tesis'],'t'))."
Asesor(es):".obtenAutores($tesis['id_tesis'],'f')."
Grado obtenido:".$tesis['grado_obtenido_espanol']."
Año:".$tesis['anio']."
";
if($tesis['archivo']!="")
$tesispag.="
";
else $tesispag.="
Descargar
";
$tesispag.="
";
}
}
else
{
$tesispag.="No hay tesis para ".$autores['nombre_c']."
";
}
}
return $tesispag;
}
else
{
return "No hay tesis con el criterio ".$cadena."";
}
}
//Busqueda por anio
function buscarPorAnio($cadena, $inicio, $cant)
{
$sql =new conexion();
$query="SELECT id_tesis,titulo_espanol,anio, grado_obtenido_espanol,archivo FROM tesis WHERE anio ilike '%$cadena%' order by anio DESC LIMIT $cant OFFSET $inicio ";
$resultado= $sql->aplica($query);
if(pg_num_rows($resultado)!=0)
{
$tesispag="";
while($tesis=pg_fetch_array($resultado))
{
$url='"solicitudDescarga.php?tipo=tesis&archivo='.$tesis['id_tesis'].'"';
$tesispag.="
".$tesis['titulo_espanol']."
Autor(es):".obtenAutores($tesis['id_tesis'],'t')."
Asesor(es):".obtenAutores($tesis['id_tesis'],'f')."
Grado obtenido:".$tesis['grado_obtenido_espanol']."
Año:".$tesis['anio']."
";
if($tesis['archivo']!="")
$tesispag.="
";
else $tesispag.="
Descargar
";
$tesispag.="
";
}
return $tesispag;
}
else
{
return "No hay tesis con el criterio ".$cadena."";
}
}
//paginacion de resultados por busquedas
function obtenNumResultados($query)
{
$sql =new conexion();
$resultado= $sql->aplica($query);
return pg_num_rows($resultado);
}
function obtenAutores($id_tesis,$tipo)
{
$sql =new conexion();
$query=" SELECT u.nombre ||' '|| u.apellidos as nombre_c FROM autor_asesor a, usuario_lvc u WHERE a.id_tesis=$id_tesis and a.id_usuario= u.id_usuario and a.tipo='$tipo'";
$resultado= $sql->aplica($query);
if(pg_num_rows($resultado)!=0)
{
$autores=array();
$i=0;
while($autor=pg_fetch_array($resultado))
{
$autores[$i]=$autor['nombre_c'];
$i++;
}
return implode(",",$autores);
}
else
{
//return (($tipo=='t')?"No hay autores":"No hay asesores");
return (($tipo=='t')?" ":" ");
}
}
//general
function mostrarTodos($max,$cant)
{
$objResponse= new xajaxResponse();
$contenido = obtenerTesis(0,$cant);
$paginas = paginacion('xajax_pagina','',$max,0,$cant);
$objResponse->addAssign("resultadostesis","innerHTML",$contenido);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
function obtenerTesis($inicio,$cant)
{
$sql = new conexion();
$query="SELECT id_tesis,titulo_espanol,anio,grado_obtenido_espanol,archivo FROM tesis order by anio DESC LIMIT $cant OFFSET $inicio ";
$resultados=$sql->aplica($query);
$tesispag="";
while($tesis=pg_fetch_array($resultados))
{
$url='"solicitudDescarga.php?tipo=tesis&archivo='.$tesis['id_tesis'].'"';
$tesispag.="
".$tesis['titulo_espanol']."
Autor(es):".obtenAutores($tesis['id_tesis'],'t')."
Asesor(es):".obtenAutores($tesis['id_tesis'],'f')."
Grado obtenido:".$tesis['grado_obtenido_espanol']."
Año:".$tesis['anio']."
";
if($tesis['archivo']!="")
$tesispag.="
";
else $tesispag.="
Descargar
";
$tesispag.="
";
}
return $tesispag;
}
function paginacion($funcion,$cadena,$max,$inicio,$cant)
{ //cantidad de conferencias
$numelementos=$max;
//barra de paginas
$tabla="";
//cuantas paginas se necesitan
for ($i=0;$i ".($i+1)." ";
}
//otras pagina
else
{
$temp=$funcion.'('.$max.',"'.$cadena.'",'.$des.','.$cant.')';
$tabla.=" ".($i+1)." ";
}
}
$tabla.="
";
return $tabla;
}
function pagina($max,$cadena,$inicio,$cant)
{
$objResponse= new xajaxResponse();
$contenido= obtenerTesis($inicio,$cant);
$paginas = paginacion('xajax_pagina',' ',$max,$inicio,$cant);
$objResponse->addAssign("resultadostesis","innerHTML",$contenido);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
function pagina_titulo($max,$cadena,$inicio,$cant)
{
$objResponse= new xajaxResponse();
$informacion= buscarPorTitulo($cadena,$inicio,$cant);
$paginas = paginacion('xajax_pagina_titulo',$cadena,$max,$inicio,$cant);
$objResponse->addAssign("resultadostesis","innerHTML",$informacion);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
function pagina_autor($max,$cadena,$inicio,$cant)
{
$objResponse= new xajaxResponse();
$informacion= buscarPorAutor($cadena,$inicio,$cant);
$paginas = paginacion('xajax_pagina_autor',$cadena,$max,$inicio,$cant);
$objResponse->addAssign("resultadostesis","innerHTML",$informacion);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
function pagina_anio($max,$cadena,$inicio,$cant)
{
$objResponse= new xajaxResponse();
$informacion= buscarPorAnio($cadena,$inicio,$cant);
$paginas = paginacion('xajax_pagina_anio',$cadena,$max,$inicio,$cant);
$objResponse->addAssign("resultadostesis","innerHTML",$informacion);
$objResponse->addAssign("divpaginacion","innerHTML",$paginas);
return $objResponse;
}
//$xajax= new xajax();
//registra las funciones que emplean xajax response
$xajax->registerFunction("buscar");
$xajax->registerFunction("pagina");
$xajax->registerFunction("pagina_titulo");
$xajax->registerFunction("pagina_autor");
$xajax->registerFunction("pagina_anio");
$xajax->registerFunction("mostrarTodos");
//procesa las solicitudes
//$xajax->processRequests();
$xajax=process($xajax);
openHead();//carga de tags html,head,script, link, title
//Area de inclusion y programacion de js y css
//$xajax->printJavascript('librerias/xajax/');
?>
closeHead();//cierra tags html
require_once("footer.php");//carga funciones de contenido intermedio
openBody($resultadonoticias);//abre tag body y carga contenido predefinido
//Area de programacion segun el contenido
?>
if($num_tesis!=0)
{
echo obtenerTesis(0,$num_pagina);
}
else
{
echo "No hay tesis";
}
?>
if($num_tesis!=0)
{
echo paginacion('xajax_pagina',' ',$num_tesis,0,$num_pagina);
}
?>
closeBody();//cierra tag body
?>