Ver Mensaje Individual
  #1  
Antiguo 03-03-2011
uper uper is offline
Miembro
 
Registrado: abr 2004
Posts: 296
Reputación: 21
uper Va por buen camino
como paginar con php pero parametrizando

B. tardes estoy empezando con php y mysql y tengo que una duda de como paginar registros por medio de un filtro parametrizado, pero lo que requiero hacer es tener una ventana solicitando la cuenta y password una vez que entre debe de consultar una tabla con permisos, si es el caso me despliega una lista lo cual esta paginada use un paginador libre conocido como paginator.inc.php de la pagina: http://jpinedo.webcindario.com/scripts/paginator/ pero no da el resultado esperado para eso encontre otra manera de hacer la paginacion.

Ahora bien, si no tengo ningun filtro me pagina, pero al pasar al segundo u otro numero de enlace pues ya no me presenta los siguientes registros solo la primera que es cuando se carga la pagina, despues le estableci los filtros
en mi caso para buscar por por medio de una variable y me ahoroja 2 errores: Warning: Wrong parameter count for mysql_num_rows() in C:\Servidor\web\logueame.php on line 59
(sin resultados)
Warning: Wrong parameter count for mysql_free_result() in C:\Servidor\web\logueame.php on line 78


este es el codigo:

Código PHP:
tabla
CREATE TABLE `articulos` (
  `id` int(11) default NULL,
  `titulo` varchar(255) collate latin1_spanish_ci NOT NULL default '',
  `descripcion` text collate latin1_spanish_ci NOT NULL,
  `contenido` text collate latin1_spanish_ci NOT NULL,
  `fecha` date NOT NULL default '0000-00-00',
  `visible` tinyint(1) NOT NULL default '0',
  `folio` char(3) collate latin1_spanish_ci default NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci;

uso dos archivos: accesar.html, logueame.php

accesar.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="content-type">
  <title>acceso.html</title>
</head>
<body>
<br>
<form method="POST" name="forma" action="logueame.php"><br>
 Usuario<input maxlength="15" name="usuario_" type="text"><br>
<br>
Clave<input maxlength="15" type="password" name="password_" >
<input name="BTNLIMPIAR" value="Cancelar""
 type="reset"><input value="Aceptar" name="enviar" type="submit"></form>

</body>
</html>

logueame.php
<?
function conectar() 

    
$base_de_datos "noticias";
    
$db_usuario "root"
    
$db_password ""
   
    if (!(
$link mysql_connect("localhost"$db_usuario$db_password))) 
    { 
        echo 
"Error conectando a la base de datos."
        exit(); 
    } 
    if (!
mysql_select_db($base_de_datos$link)) 
    { 
        echo 
"Error seleccionando la base de datos."
        exit(); 
    } 
    return 
$link


$db conectar();

$registros 4;

$pagina $_GET["pagina"];
$cuenta $_POST['usuario_'];
$PSW=$_POST['password_'];
if (
$USR=="" and $PSW=="")
{
  exit();
}

if (!
$pagina) { 
    
$inicio 0
    
$pagina 1

else { 
   
$inicio = ($pagina 1) * $registros



?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title></title>
<style>
    body { font-family: arial; font-size:12px}
</style>
</head>

<body>
    <BR><BR>
    
    <BR>
    <?
    $resultados 
mysql_query("SELECT id FROM articulos WHERE visible = 1 and cuenta = '$cuenta'",$db);    
    
$total_registros mysql_num_rows($resultados,$db); 
    
$resultados mysql_query("SELECT * FROM articulos WHERE visible=1 and cuenta = '$cuenta' ORDER BY fecha DESC LIMIT $inicio$registros",$db);    
    
$total_paginas ceil($total_registros $registros);                       
    
    echo 
"<BR>";
    
    if(
$total_registros) {
    
        while(
$articulo=mysql_fetch_array($resultados,$db)) {
            
            echo 
"<b>".$articulo["titulo"]."</b><br>";
            echo 
"<font color='#666666'>".$articulo["descripcion"]."</font><br><br><br>";
            
        }
        
    } else {
        echo 
"<font color='darkgray'>(sin resultados)</font>";
    }    
    
    
mysql_free_result($resultados,$db);                
    
    if(
$total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href=".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i
                echo 
"<b>".$pagina."</b> "
            else
                echo 
"<a href=".$_SERVER["PHP_SELF"]."?pagina=$i'>$i</a> "
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href=".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo 
"</center>";        
    }
    
?>
</body>
</html>
<? mysql_close($db);?>
alguien me podria orientar, les agradesco, si me indicaran que me falta.

gracias
Responder Con Cita