Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/06/2008, 16:22
marx-pola
 
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 630
Antigüedad: 24 años, 5 meses
Puntos: 1
Error en paginador - No carga la siguiente página

Hola a todos! Cómo están? Tengo un paginador que de una manera me funciona y de otra no...

Les muestro mi código:
Código PHP:
include ("con.php");

$hm = $_GET['hm'];
$tipoart = $_GET['tipoart'];    

// conexion a la base
$conexion = mysql_connect($host_db, $usuario_db, $pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db, $conexion) or die ("no se ha podido seleccionar la BD");

        if (!isset(
$pag)) $pag = 1; // Por defecto, pagina 1
        
$result = mysql_query("SELECT COUNT(*) FROM articulos, hombre_mujer, tipo_articulo 
WHERE articulos.id_hm = hombre_mujer.id_hm
 AND articulos.id_tipoart = tipo_articulo.id_tipoart AND articulos.id_hm = $hm 
AND articulos.id_tipoart = $tipoart"
, $conexion); 
        list(
$total) = mysql_fetch_row($result);
        
$tampag = 8;
        
$reg1 = ($pag-1) * $tampag;
            
$result = mysql_query("SELECT * FROM articulos, hombre_mujer, 
tipo_articulo WHERE articulos.id_hm = hombre_mujer.id_hm AND 
articulos.id_tipoart = tipo_articulo.id_tipoart AND articulos.id_hm = $hm AND 
articulos.id_tipoart = $tipoart LIMIT $reg1, $tampag"
, $conexion);

        if (
mysql_num_rows($result)){ 

        
// Muestro los registros
              
while ($fila = @mysql_fetch_array($result))
                  { 
echo 
$fila.... muestro los registros;
...
...
}
            
//libero el recordset
            
mysql_free_result($result);
    }
        
// Cierro la conexion
        
mysql_close($conexion); 



/******************************************************/
/* Funcion paginar
 * actual:          Pagina actual
 * total:           Total de registros
 * por_pagina:      Registros por pagina
 * enlace:          Texto del enlace
 * Devuelve un texto que representa la paginacion
 */
function paginar($actual, $total, $por_pagina, $enlace) {
  
$total_paginas = ceil($total/$por_pagina);
  
$anterior = $actual - 1;
  
$posterior = $actual + 1;
  if (
$actual>1)
    
$texto = "<a href=\"$enlace$anterior\">&laquo; ANTERIOR</a> ";
  else
    
$texto = "<b>&laquo; ANTERIOR</b> ";
  for (
$i=1; $i<$actual; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  
$texto .= "<b>$actual</b> ";
  for (
$i=$actual+1; $i<=$total_paginas; $i++)
    
$texto .= "<a href=\"$enlace$i\">$i</a> ";
  if (
$actual<$total_paginas)
    
$texto .= "<a href=\"$enlace$posterior\">SIGUIENTE &raquo;</a>";
  else
    
$texto .= "<b>SIGUIENTE &raquo;</b>";
  return 
$texto;
}

echo 
paginar($pag, $total, $tampag, "articulos.php?pag="); 
Bien... el paginador funciona de maravillas SOLO si en los SELECT, donde aparecen las variables articulos.id_hm = $hm y articulos.id_tipoart = $tipoart las reemplazo, por ejemplo con un nro, por ejemplo 1 ó 2, etc... o sea que queden de esta forma:
articulos.id_hm = 1 AND articulos.id_tipoart = 1

Si les dejo las variables como está expuesto al principio, me tira error:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource on line 68

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource on line 73

Alguna sugerencia porfassss? Mil gracias a todos.

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