formulario.html
Código HTML :
<form name="form1" method="post" action="resultados.php"> <table width="331" border="0" align="center" class="KondorOK"> <tr> <td width="93">Búsqueda por: </td> <td width="64"><input name="tipobusqueda" type="radio" value="titulo"> Título</td> <td width="63"><input name="tipobusqueda" type="radio" value="autor"> Autor</td> <td width="91"><input name="tipobusqueda" type="radio" value="materia"> Materia</td> </tr> </table> <table width="308" border="0" align="center" class="KondorOK"> <tr> <td width="300"> <input name="terminobusqueda" type="text" size="60"> </td> </tr> </table> <table width="139" border="0" align="center" class="KondorOK"> <tr> <td width="133"> <input name="submit" type="submit" class="KondorOK" value="Búsqueda_Avanzada"> </td> </tr> </table> </form>
resultados.php
Código PHP :
<? $tipobusqueda = $_POST['tipobusqueda']; $terminobusqueda = $_POST['terminobusqueda']; trim ($terminobusqueda); if (!$tipobusqueda || !$terminobusqueda) { echo "No has introducido los detalles de la busqueda. Por favor vuelve e inténtalo de nuevo."; exit; } @ $db = mysql_pconnect("localhost", "root"); if (!$db) { echo "Error: No se ha podido conectar a la base de datos. Por favor, prueba de nuevo más tarde."; exit; } mysql_select_db("bd_cdip"); $_pagi_sql = "select * from lib_db where ".$tipobusqueda." like '%".$terminobusqueda."%'"; $_pagi_result = mysql_query($_pagi_sql); $num_resultados = mysql_num_rows($_pagi_result); echo "<p>Número de libros encontrados: ".$num_resultados."</p>"; $_pagi_cuantos = 5; $_pagi_mostrar_errores = false; $_pagi_conteo_alternativo = false; $_pagi_propagar = array("id"); $_pagi_nav_estilo = "paginacion"; $_pagi_nav_anterior = "<"; $_pagi_nav_siguiente = ">"; include("paginator.inc.php"); while($row = mysql_fetch_array($_pagi_result)){ echo "</strong><br>Título: "; echo $row['titulo']; echo "</strong><br>Tipo: "; echo $row['tipo']; echo "</strong><br>Ubicación: "; echo $row['ubic']; echo "</strong><br>Autor: "; echo $row['autor']; echo "</strong><br>Descripción: "; echo $row['materia']; echo "</p>"; } echo"<p>".$_pagi_navegacion."</p>"; echo"<p>Mostrando Registrados ".$_pagi_info."</p>"; ?>
paginator.inc.php
Código PHP :
<?php if(empty($_pagi_sql)){ die("<b>Error Paginator : </b>No se ha definido la variable \$_pagi_sql"); } if(empty($_pagi_cuantos)){ $_pagi_cuantos = 20; } if(!isset($_pagi_mostrar_errores)){ $_pagi_mostrar_errores = true; } if(!isset($_pagi_conteo_alternativo)){ $_pagi_conteo_alternativo = false; } if(!isset($_pagi_separador)){ $_pagi_separador = " | "; } if(isset($_pagi_nav_estilo)){ $_pagi_nav_estilo_mod = "class=\"$_pagi_nav_estilo\""; }else{ $_pagi_nav_estilo_mod = ""; } if(!isset($_pagi_nav_anterior)){ $_pagi_nav_anterior = "« Anterior"; } if(!isset($_pagi_nav_siguiente)){ $_pagi_nav_siguiente = "Siguiente »"; } if(!isset($_pagi_nav_primera)){ $_pagi_nav_primera = "«« Primera"; } if(!isset($_pagi_nav_ultima)){ $_pagi_nav_ultima = "Última »»"; } if (empty($_GET['_pagi_pg'])){ $_pagi_actual = 1; }else{ $_pagi_actual = $_GET['_pagi_pg']; } if($_pagi_conteo_alternativo == false){ $_pagi_sqlConta = eregi_replace("select[[:space:]](.*)[[:space:]]from", "SELECT COUNT(*) FROM", $_pagi_sql); $_pagi_result2 = mysql_query($_pagi_sqlConta); if($_pagi_result2 == false && $_pagi_mostrar_errores == true){ die (" Error en la consulta de conteo de registros: $_pagi_sqlConta. Mysql dijo: <b>".mysql_error()."</b>"); } $_pagi_totalReg = mysql_result($_pagi_result2,0,0); }else{ $_pagi_result3 = mysql_query($_pagi_sql); if($_pagi_result3 == false && $_pagi_mostrar_errores == true){ die (" Error en la consulta de conteo alternativo de registros: $_pagi_sql. Mysql dijo: <b>".mysql_error()."</b>"); } $_pagi_totalReg = mysql_num_rows($_pagi_result3); } $_pagi_totalPags = ceil($_pagi_totalReg / $_pagi_cuantos); $_pagi_enlace = $_SERVER['PHP_SELF']; $_pagi_query_string = "?"; if(!isset($_pagi_propagar)){ if (isset($_GET['_pagi_pg'])) unset($_GET['_pagi_pg']); $_pagi_propagar = array_keys($_GET); }elseif(!is_array($_pagi_propagar)){ die("<b>Error Paginator : </b>La variable \$_pagi_propagar debe ser un array"); } foreach($_pagi_propagar as $var){ if(isset($GLOBALS[$var])){ $_pagi_query_string.= $var."=".$GLOBALS[$var]."&"; }elseif(isset($_REQUEST[$var])){ $_pagi_query_string.= $var."=".$_REQUEST[$var]."&"; } } $_pagi_enlace .= $_pagi_query_string; $_pagi_navegacion_temporal = array(); if ($_pagi_actual != 1){ $_pagi_url = 1; $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_primera</a>"; $_pagi_url = $_pagi_actual - 1; $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_anterior</a>"; } if(!isset($_pagi_nav_num_enlaces)){ $_pagi_nav_desde = 1; $_pagi_nav_hasta = $_pagi_totalPags; }else{ $_pagi_nav_intervalo = ceil($_pagi_nav_num_enlaces/2) - 1; $_pagi_nav_desde = $_pagi_actual - $_pagi_nav_intervalo; $_pagi_nav_hasta = $_pagi_actual + $_pagi_nav_intervalo; if($_pagi_nav_desde < 1){ $_pagi_nav_hasta -= ($_pagi_nav_desde - 1); $_pagi_nav_desde = 1; } if($_pagi_nav_hasta > $_pagi_totalPags){ $_pagi_nav_desde -= ($_pagi_nav_hasta - $_pagi_totalPags); $_pagi_nav_hasta = $_pagi_totalPags; if($_pagi_nav_desde < 1){ $_pagi_nav_desde = 1; } } } for ($_pagi_i = $_pagi_nav_desde; $_pagi_i<=$_pagi_nav_hasta; $_pagi_i++){ if ($_pagi_i == $_pagi_actual) { $_pagi_navegacion_temporal[] = "<span ".$_pagi_nav_estilo_mod.">$_pagi_i</span>"; }else{ $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_i."'>".$_pagi_i."</a>"; } } if ($_pagi_actual < $_pagi_totalPags){ $_pagi_url = $_pagi_actual + 1; $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_siguiente</a>"; $_pagi_url = $_pagi_totalPags; $_pagi_navegacion_temporal[] = "<a ".$_pagi_nav_estilo_mod." href='".$_pagi_enlace."_pagi_pg=".$_pagi_url."'>$_pagi_nav_ultima</a>"; } $_pagi_navegacion = implode($_pagi_separador, $_pagi_navegacion_temporal); $_pagi_inicial = ($_pagi_actual-1) * $_pagi_cuantos; $_pagi_sqlLim = $_pagi_sql." LIMIT $_pagi_inicial,$_pagi_cuantos"; $_pagi_result = mysql_query($_pagi_sqlLim); if($_pagi_result == false && $_pagi_mostrar_errores == true){ die ("Error en la consulta limitada: $_pagi_sqlLim. Mysql dijo: <b>".mysql_error()."</b>"); } $_pagi_desde = $_pagi_inicial + 1; $_pagi_hasta = $_pagi_inicial + $_pagi_cuantos; if($_pagi_hasta > $_pagi_totalReg){ $_pagi_hasta = $_pagi_totalReg; } $_pagi_info = "desde el $_pagi_desde hasta el $_pagi_hasta de un total de $_pagi_totalReg"; ?>