PHP Classes

File: testpager.php

Recommend this page to a friend!
  Classes of markitos   dbsearch   testpager.php   Download  
File: testpager.php
Role: ???
Content type: text/plain
Description: Class test file/Archivo con el test de la clase. How to pager the results/Como paginar el resultado
Class: dbsearch
Author: By
Last change:
Date: 22 years ago
Size: 8,801 bytes
 

Contents

Class file image Download
<? #: unset internal vars #: if (isset ()){unset ();} if (isset ($ERROR)){unset ($ERROR);} if (isset ($NumPaginas)){unset ($NumPaginas);} if (isset ($Tdbsearch)){unset ($Tdbsearch);} if (isset ($MuestraPorPagina)){unset ($MuestraPorPagina);} if (isset ($NumEncontrados)){unset ($NumEncontrados);} if (isset ($ENCONTRADO)){unset ($ENCONTRADO);} if (isset ($Paginas)){unset ($Paginas);} if (isset ($PaginaActual)){unset ($PaginaActual);} #: include class file. include ('dbsearchclass.php'); #: definimos variables para la clase #: Default values for database hostname and server port are: localhost ans 3306 $DatabaseName = 'dbsearchtest'; $DatabaseUser = 'dbsearchuser'; $DatabasePass = 'dbsearchuserpass'; $DatabaseHost = 'localhost'; $DatabasePort = 3306; $Pattern = 'ma'; $NoBuscarEnTablas = array (''); #: definimos tabla de errores con sus codigos $CODEERROR = array ( "1" => 'ERROR ESTABLECIENDO CONEXION', "2" => 'ERROR FIJANDO PATRON' ); #: definimos variables para el paginado $MuestraPorPagina = 5; #: instanciamos objeto, establecemos conexion y fijamos el patron de busqueda $Tdbsearch = new dbsearch ($DatabaseName,$DatabaseUser,$DatabasePass,$DatabaseHost,$DatabasePort); if(!$Tdbsearch->OpenConnection()){$ERROR=1;} if(!isset ($ERROR)){if(!$Tdbsearch->SetPattern ($Pattern)){$ERROR=2;}} #: Realizamos busqueda sin excluyendo la tabla 'nosearch' si antes no ha ocurrido un error. #: Buscamos cualquier ocurrencia con el patron sin respetar mayusculas/minusculas if(!isset ($ERROR)){$Tdbsearch->FindInDb (0,0,$NoBuscarEnTablas);} #: Si no han habido errores recogemos el numero de registros enconrados. if(!isset ($ERROR)){$NumEncontrados = $Tdbsearch->NumResult();} #: Si no han habido errores y por lo menos hay un registro preparamos paginado if((!isset ($ERROR))&&($NumEncontrados>=1)){ #: Fijamos el valor de ENCONTRADO a 1 $ENCONTRADO = 1; #: Recogemos Los Ids de los registros encontrados junto con el nombre de su tabla $IdsEncontrados = $Tdbsearch->IdFindPerTable(''); #: Preparamos matriz con los ids y el nombre de la tabla a la que pertenece $ListaTablaId = array(); while (list ($NombreTabla, $ArrayIds) = each ($IdsEncontrados)){ while (list ($null,$IdDelRegistro) = each ($ArrayIds)){ array_push ($ListaTablaId, array($NombreTabla,$IdDelRegistro)); } } #: Calculamos Numero de paginas. $NumPaginas = ceil ($NumEncontrados/$MuestraPorPagina); #: Si $inicio no existe o se da el caso en el que se ha modificado su valor a mano: #: - Es mayor que lo que mandaria la ultima pagina. #: - Es menor de 1. #: - No es un numero. #: , fijamos su valor en 1, que seria como estar en la pagina 1. if ( (!isset ($inicio))|| ($inicio>($NumEncontrados-1))|| ($inicio<1)|| (!eregi ("^[0-9]{1,}$",$inicio)) ){ $inicio = 0; } #: una vez fijado $inicio, calculamos en que pagina nos encontramos $Paginas = array(); for ($c=0;$c!=$NumPaginas;$c++){ $Desde=$c*$MuestraPorPagina; $Hasta=$Desde+$MuestraPorPagina-1; if ($Hasta>$NumEncontrados){$Hasta=$NumEncontrados-1;} if ($Hasta==$Desde){$Tiene=1;} if ($Hasta==$NumEncontrados){$Hasta=$Hasta-1;} $Paginas{$c+1}=$Hasta; } while (list ($Pagina,$Hasta) = each ($Paginas)){ if ($inicio<=$Hasta){ $PaginaActual=$Pagina;break;} } reset ($Paginas); $Desde = ($Paginas{$PaginaActual-1})+1; if ($Desde==1){$Desde=0;} } ?> <html> <head> <title>Test de como paginar el resultado</title> </head> <body> <table align="center" border="0" width="600" cellpadding="0" cellspacing="0"> <tr bgcolor="9999CC"> <td colspan="2"><b>Como paginar los resultados</b></td> <td align="right"><b>oO0oOo xp coding style oO0oOo |[[ mArKitos 2oo1 ]]|</b></td> </tr> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Database Name</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $DatabaseName?></b></td> </tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Database Username</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $DatabaseUser?></b></td> </tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Database Password</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $DatabasePass?></b></td> </tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Database Hostname</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $DatabaseHost?></b></td> </tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Database Server Port</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $DatabasePort?></b></td> </tr> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr bgcolor="#CCCCCC"> <td bgcolor="#CCCCFF"><b>Initial Pattern</b></td> <td>&nbsp;</td> <td bgcolor="#CCCCFF"><b><?echo $Pattern?></b></td> </tr> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr><td bgcolor="#9999CC" colspan="3">&nbsp;</td></tr> <? if (isset ($ERROR)){?> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr><td bgcolor="#9999CC" colspan="3"><?echo $CODEERROR{$ERROR}?></td></tr> <?}?> </table> <br><br> <table align="center" border="0" width="600" cellpadding="0" cellspacing="0"> <tr bgcolor="9999CC"> <td colspan="2"><b>TOTAL ENCONTRADOS:</b></td> <td align="right"><b><?echo $NumEncontrados;?></b></td> </tr> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> </table> <? #: Mostramos Resultado de la pagina deseada. #: Los datos se hallan en la matriz $ListaTablaId #: Mostramos del elemento $Desde hasta el $Paginas{$PaginaActual} if ($ENCONTRADO){ $TotalAMostrar = $Paginas{$PaginaActual}-$Paginas{$PaginaActual-1}; if ($NumPaginas==1){$TotalAMostrar=$NumEncontrados;} for ($Contador=$Desde;$Contador<=$Paginas{$PaginaActual};$Contador++){ list ($PerteneceA, $ID) = $ListaTablaId[$Contador]; ?> <table align="center" border="0" width="600" cellpadding="0" cellspacing="0"> <tr bgcolor="9999CC"> <td colspan="2"><b>seccion <?echo $PerteneceA?></b></td> <td align="right"><b><?echo $ID;?></b></td> </tr> </table> <? } } ?> <!-- Mostramos paginador si hay mas de 1 pagina !--> <? if ($NumPaginas==1){?> <table align="center" border="0" width="600" cellpadding="0" cellspacing="0"> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr bgcolor="#9999CC"> <td colspan="3"><b>PAGINA 1</b></td> </tr> </table> <?} else if ($NumPaginas>1){?> <table align="center" border="0" width="600" cellpadding="0" cellspacing="0"> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> <tr bgcolor="#9999CC"> <td colspan="2"><b>PAGINA <?echo $PaginaActual." de ".$NumPaginas;?></b></td> <td align="right"><b> <? #: Mostramos paginas for ($Contador = 1; $Contador<=$NumPaginas; $Contador++){ #: Fijamos el valor de inicio. Si la pagina es 1 su valor es 1. #: Si es mayor de 1 sera ($Contador-1) * $MuestraPorPagina. $ValorInicio = 0; if ($Contador>1){ $ValorInicio = ($Contador-1)* $MuestraPorPagina; } if ($Contador==$PaginaActual){ ?><font color="red"><b><?echo $Contador?></b></font><?; continue;} ?><a href="<?echo $PHP_SELF?>?inicio=<?echo $ValorInicio?>" style="text-decoration:none"><?echo " ".$Contador." ";?></a><? } ?> </b></td></tr> <tr bgcolor="#9999CC"> <td colspan="3" align="right"><b> <? $ValorInicio=0; #: Mostramos flechas de avance o retroceso en las paginas #: Para mostrar la de retroceso ha de cumplirse: #: - $PaginaActual > 1 if ($PaginaActual>1){ $ValorInicio = ($Paginas{$PaginaActual-1}-$MuestraPorPagina)+1; ?><a href="<?echo $PHP_SELF?>?inicio=<?echo $ValorInicio?>" style="text-decoration:none"><< anterior</a><? } #: Para mostrar la de avance ha de cumplirse: #: - $PaginaActual < Total De Paginas $ValorInicio = $Paginas{$PaginaActual}+1; if ($PaginaActual<$NumPaginas){ ?>&nbsp;&nbsp;<a href="<?echo $PHP_SELF?>?inicio=<?echo $ValorInicio?>" style="text-decoration:none">siguiente >></a><? }?> </td></tr> <tr><td bgcolor="#CCCCCC" colspan="3">&nbsp;</td></tr> </table> <?} else {}?> <!-- Fin del paginador!--> </body> </html>