hola a todos estoy amoldando un paginador+buscador que he encontrado en internet....
Va perfecto y es muy entendible, pero no se porque al arreglarlo yo y añadirle un campo mas para hacer busqueda resulta que la primera vez si que me saca el resultado pero si navego por el paginador pierde la variable por la que quiero buscar.... alguien sabria decirme que debo hacer para que no pierda la variable??
Gracias
este es el codigo
Código HTML:
Ver original<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<title>ejemplo de paginaci
ón de resultados
</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta http-equiv="Pragma" content="no-cache" /> <!--
a.p:link {
color: #0066FF;
text-decoration: none;
}
a.p:visited {
color: #0066FF;
text-decoration: none;
}
a.p:active {
color: #0066FF;
text-decoration: none;
}
a.p:hover {
color: #0066FF;
text-decoration: underline;
}
a.ord:link {
color: #000000;
text-decoration: none;
}
a.ord:visited {
color: #000000;
text-decoration: none;
}
a.ord:active {
color: #000000;
text-decoration: none;
}
a.ord:hover {
color: #000000;
text-decoration: underline;
}
-->
<script language="JavaScript"> function muestra(queCosa)
{
alert(queCosa);
}
<div align="center"><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">Paginaci
ón
de Resultados de una consulta SQL (sobre MySQL)
<br><br></font></strong> </div><hr noshade style="color:CC6666;height:1px">
Código PHP:
Ver original<?php
//inicializo el criterio y recibo cualquier cadena que se desee buscar
$criterio = "";
if ($_GET["criterio"]!=""){
$txt_criterio = $_GET["criterio"];
$criterio = " where titulo like '%" . $txt_criterio . "%' ";
}elseif($_GET["sprovincia"]!=""){
$txt_criterio = $_GET["sprovincia"];
$criterio = " where provincia='$txt_criterio'";
}
$sql="SELECT * FROM anuncios ".$criterio;
if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>No se encontraron resultados</font>";
echo "</div>";
}else{
//////////elementos para el orden
{
$orden="id_anuncio";;
}
//////////fin elementos de orden
//////////calculo de elementos necesarios para paginacion
//tamaño de la pagina
$tamPag=5;
//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"])){ $pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;
//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag); {
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag); $inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}
if ($final>$numPags){
$final=$numPags;
}
}
//////////fin de dicho calculo
//////////creacion de la consulta con limites
$sql="SELECT * FROM anuncios ".$criterio." ORDER BY ".$orden.",id_anuncio ASC LIMIT ".$limitInf.",".$tamPag;
//////////fin consulta con limites
echo "<div align='center'>";
echo "<font face='verdana' size='-2'>encontrados ".$numeroRegistros." resultados<br>";
echo "ordenados por <b>".$orden."</b>";
if(isset($txt_criterio)){ echo "<br>Valor filtro: <b>".$txt_criterio."</b>";
}
echo "</font></div>";
echo "<table align='center' width='80%' border='0' cellspacing='1' cellpadding='0'>";
echo "<tr><td colspan='3'><hr noshade></td></tr>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=id_anuncio&criterio=".$txt_criterio."'>Titulo</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=id_anuncio&criterio=".$txt_criterio."'>Foto</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=precio&criterio=".$txt_criterio."'>Precio</a></th>";
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=fecha&criterio=".$txt_criterio."'>Fecha</a></th>";
{
?>
Código HTML:
Ver original<!-- tabla de resultados -->
<tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o"];" onClick="javascript:muestra('<? echo "[".$registro["titulo"]."] ".$registro["titulo"]." - ".$registro["precio"]." - ".$registro["fecha"]; ?>');">
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><?php echo $registro["titulo"]; ?></b></font></td> <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><?[HIGHLIGHT="PHP"]
php echo "<img src='".$registro['foto1']."' WIDTH=105 HEIGHT=97></img>"; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><?php echo $registro["precio"]; ?></b></font></td>
<td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFCC"><b><?php echo $registro["fecha"]; ?></b></font></td>
</tr>
<!-- fin tabla resultados -->[/HIGHLIGHT]
Código PHP:
Ver original<?php
}//fin while
echo "</table>";
}//fin if
//////////a partir de aqui viene la paginacion
?>
Código HTML:
Ver original <table border="0" cellspacing="0" cellpadding="0" align="center"> <tr><td align="center" valign="top">
Código PHP:
Ver original<?php
if($pagina>1)
{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>anterior</font>";
echo "</a> ";
}
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<font face='verdana' size='-2'><b>".$i."</b> </font>";
}else{
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>".$i."</font></a> ";
}
}
if($pagina<$numPags)
{
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
echo "<font face='verdana' size='-2'>siguiente</font></a>";
}
//////////fin de la paginacion
?>
Código HTML:
Ver original<hr noshade style="color:CC6666;height:1px"> <div align="center"><font face="verdana" size="-2"><a class="p" href="index.php">::Inicio::
</a></font></div>
<form action="servicios.php" method="get"> Criterio de búsqueda:
<input type="text" name="criterio" size="22" maxlength="150">
<select style="width:60%" id="sprovincia" name="sprovincia"> <option value="selec" selected="selected">-seleccione provincia-
</option>
<input type="submit" value="Buscar">