Foros del Web » Programando para Internet » PHP »

Problema con paginacion

Estas en el tema de Problema con paginacion en el foro de PHP en Foros del Web. Hola compañeros, les expongo a continuación mi problema con la paginacion. Mirad tengo una paginación en una pagina PHP que lo que hace es sacarme ...
  #1 (permalink)  
Antiguo 10/11/2010, 10:16
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 15 años, 2 meses
Puntos: 1
Problema con paginacion

Hola compañeros, les expongo a continuación mi problema con la paginacion.


Mirad tengo una paginación en una pagina PHP que lo que hace es sacarme los registros de antivirus que tengo caducados.


El problema biene porque tengo una sentencia MYSQL que lo que hace es solo sacar los que esten caducados los demas no.
Y el paginador me saca el numero de todas las paginas de todos los registros esten o no caducados entonces tengo muchos numeros de paginas que estan vacias y no me gustaria que aparecieran.


Les expongo el codigo:


Código PHP:
// Para ejecutar este script probablemente necesitará cambiar los siguientes parámetros.
$hostname    'localhost';
$username    'admin';
$password    '1234';
$database    'basededatos';
$rowCount    10;    // Número de registros por página.
$pagesToShow 2;    // Número de páginas a mostrar adelante o atrás de la actual en la paginación.


@$conn = new mysqli($hostname$username$password$database);
if (
mysqli_connect_errno())
{
    echo 
'No fué posible conectarse a la base de datos '$hostname': 'mysqli_connect_error(),
        
"<br/>\nPor favor compruebe los parámetros de la conexión.";
    exit;
}


// Obtenemos el número de registros en la tabla.
$sql '
select count(*) filmsCount
    from antivirusnod
'
;
if (
false === ($res $conn->query($sql)))
{
    echo 
'Error al ejecutar la consulta "'$sql'": '$conn->error;
    exit;
}
$row $res->fetch_row();
$filmsCount $row[0];

// El número de páginas que podemos mostrar.
$pagesCount = (int)ceil($filmsCount $rowCount);


// Obtenemos el índice de la página que nos piden mostrar y nos aseguramos que esté entre 0 y $pagesCount.
$pageIndex = isset($_REQUEST['pageIndex']) ? (int)$_REQUEST['pageIndex'] : 0;
if (
$pageIndex >= $pagesCount)
    
$pageIndex $pagesCount 1;


// Obtenemos unicamente los registros de la página actual.
$offset $pageIndex $rowCount;

$hoy2 date("Y-m-d");

$sql "SELECT * FROM antivirusnod WHERE FECHA_FINAL <= '$hoy2' limit $offset, $rowCount"

if (
false === ($res $conn->query($sqlMYSQLI_USE_RESULT)))
{
    echo 
'Error al ejecutar la consulta "'$sql'": '$conn->error;
    exit;
}
$films = array();
while (
$film $res->fetch_object())
    
$films[] = $film
  #2 (permalink)  
Antiguo 10/11/2010, 10:30
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Problema con paginacion

Es que a la consulta que cuenta los registros también deberías añadirle la condición FECHA_FINAL <= '$hoy2'
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 10/11/2010, 10:30
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 9 meses
Puntos: 55
Respuesta: Problema con paginacion

para el numero de registros usa
mysql_num_rows() sobre la consulta
$sql = "SELECT * FROM antivirusnod WHERE FECHA_FINAL <= '$hoy2' limit $offset, $rowCount";
  #4 (permalink)  
Antiguo 10/11/2010, 11:29
 
Fecha de Ingreso: agosto-2009
Mensajes: 96
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Problema con paginacion

Vale muchas gracias era un problema de " y '.

Gracias.

Etiquetas: paginacion
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:51.