Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/03/2009, 16:21
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 22 años
Puntos: 1
No pasa la variable y no funciona el paginador

Hola a todos. Me pasó algo raro con este paginador que hice.

Tengo un archivo buscador.php con un formulario el cual pasa el idtipopropiedad por GET, que en este caso es 1.
La página search.php recoge el ID y lo utiliza para buscar los resultados en la BDD.
La página search.php me muestra de a 4 los resultados por página y en este caso, el paginador me dice que hay 3 páginas con el idtipopropiedad solicitado pero me di cuenta que solo puedo cambiar 1 sola vez de página porque después, el idtipopropiedad que debería aparecer en el link, ya no aparece.

El resultado me aparece linkeado así:
http://search.php?pag=2&idtipopropiedad=1

Al seleccionarlo me aparecen perfectos los resultados, pero si quiero voilver atrás, el link me aparece de esta forma:
http://search.php?pag=1&idtipopropiedad=

Les paso las consultas y los códigos que tengo:

search.php
Código PHP:
if(isset($_GET['searchprop']))

// declarar variables los datos del formulario
$idtipopropiedad $_GET['id_tipopropiedad'];

$condiciones "";
if (
$idtipopropiedad != ""$condiciones .= " AND propiedades.id_tipopropiedad = $idtipopropiedad";

$pag $_GET['pag'];        
        if (!isset(
$pag)) $pag 1// Por defecto, pagina 1
        
$sql "SELECT COUNT(*) FROM propiedades WHERE propiedades.id_tipopropiedad = tipopropiedad.id_tipopropiedad $condiciones ORDER BY id_propiedad";

$result mysql_query($sql$conexion);

        list(
$total) = mysql_fetch_row($result);
        
$tampag 4;
        
$reg1 = ($pag-1) * $tampag;

        
$result mysql_query("SELECT * FROM propiedades WHERE propiedades.id_tipopropiedad = tipopropiedad.id_tipopropiedad $condiciones ORDER BY id_propiedad LIMIT $reg1, $tampag"$conexion) or die (mysql_error());

// Acá me muestra los resultados...


// Paginador
function paginar($actual$total$por_pagina$enlace) {

  
$pag $_GET['pag'];
  
$idtipopropiedad "&idtipopropiedad="$_GET['id_tipopropiedad'];


  
$total_paginas ceil($total/$por_pagina);
  
$anterior $actual 1;
  
$posterior $actual 1;
  if (
$actual>1)
    
$texto "<a href=\"$enlace$anterior$idtipopropiedad\" > ANTERIOR</a> ";
  else
    
$texto "<b>ANTERIOR</b> ";
  for (
$i=1$i<$actual$i++)
    
$texto .= "<a href=\"$enlace$i$idtipopropiedad\" >$i</a> ";
  
$texto .= "<b>$actual</b> ";
  for (
$i=$actual+1$i<=$total_paginas$i++)
    
$texto .= "<a href=\"$enlace$i$idtipopropiedad\" >$i</a> ";
  if (
$actual<$total_paginas)
    
$texto .= "<a href=\"$enlace$posterior$idtipopropiedad\" >SIGUIENTE </a>";
  else
    
$texto .= "<b>SIGUIENTE</b>";
  return 
$texto;

        
// Cierro la conexion
        
mysql_close($conexion); 

}

echo 
paginar($pag$total$tampag"prop-search.php?pag="); 
Espero que sea una pavada y que me puedan decir donde me estoy equivocando.

Muchas gracias a todos y salutes.

Marx.
__________________
"Todo lo que somos es el resultado de lo que hemos pensado". Budda.