Foros del Web » Programando para Internet » PHP »

Paginación!

Estas en el tema de Paginación! en el foro de PHP en Foros del Web. Hola, espero su coperación de todos ustedes, tengo un paginador pero no que tiene, miren: Código PHP: <? function  conectar ()  {      $base_de_datos  =  ...
  #1 (permalink)  
Antiguo 22/05/2010, 23:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 85
Antigüedad: 14 años, 7 meses
Puntos: 1
Mensaje Paginación!

Hola, espero su coperación de todos ustedes, tengo un paginador pero no que tiene, miren:

Código PHP:
<?

function conectar() 

   
$base_de_datos "00000000000";
    
$db_usuario "0000000000"
    
$db_password "000000000"
   
    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 3;

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>Noticias</title>
<style>
    body { font-family: arial; font-size:12px}
</style>
</head>

<body>
    <?
    $resultados 
mysql_query("SELECT id FROM noticias WHERE visible = 1");
    
$total_registros=mysql_num_rows($resultados);
    
$resultados mysql_query("SELECT * FROM noticias WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");    
    
$total_paginas ceil($total_registros $registros);                       

    if(
$total_registros) {
    
        while(
$articulo=mysql_fetch_array($resultados)) {
            
            echo 
"<b>".$row[titulo]."</b><br>";
            echo 
"<font color='#666666'>".$row[noticia]."</font><br><br><br>";
            
        }
        
    } else {
        echo 
"<font color='darkgray'>(sin resultados)</font>";
    }
    
    
mysql_free_result($resultados);                
    
    if(
$total_registros) {
        
        echo 
"<center>";
        
        if((
$pagina 1) > 0) {
            echo 
"<a href='paginacion.php?pagina=".($pagina-1)."'>< Anterior</a> ";
        }
        
        for (
$i=1$i<=$total_paginas$i++){ 
            if (
$pagina == $i) {
                echo 
"<b>".$pagina."</b> "
            } else {
                echo 
"<a href='paginacion.php?pagina=$i'>$i</a> "
            }    
        }
      
        if((
$pagina 1)<=$total_paginas) {
            echo 
" <a href='paginacion.php?pagina=".($pagina+1)."'>Siguiente ></a>";
        }
        
        echo 
"</center>";
        
    }
    
?>
</body>
</html>
<? mysql_close($db);?>
me mi pagina me sale lo siguiente:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/mundope/public_html/noticias/index.php on line 50

bueno en la linea 50 tengo:

Código PHP:
$total_registros=mysql_num_rows($resultados); 
Bueno no entiendo cual es el problema o por que?

Por ese paginador funciona a al perfecion con una seccion que tengo de articulos, ahora cree una nueva seccion de noticias y no da este paginador. Ojo todo esta bien solo ese es el problema espero sus respuestas por favor.

____________________________________NOTA__________ ________________________________

Es codigo funciona perfectamente con mi otra seccion de articulos es algo asi:

Código PHP:
Ver original
  1. $base_de_datos = "web_articulos";
  2. $db_usuario = "usuario12";  
  3. $db_password = "pas+2";


y bueno tengo que modificar noticias:

Código PHP:
Ver original
  1. $resultados = mysql_query("SELECT id FROM noticias WHERE visible = 1");
  2. $total_registros=mysql_num_rows($resultados);
  3.  $resultados = mysql_query("SELECT * FROM noticias WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");

Por articulos por que asi se llama la estructura: articulos

Código PHP:
Ver original
  1. $resultados = mysql_query("SELECT id FROM articulos WHERE visible = 1");
  2. $total_registros=mysql_num_rows($resultados);
  3.  $resultados = mysql_query("SELECT * FROM articulos  WHERE visible = 1 ORDER BY fecha DESC LIMIT $inicio, $registros");

Ahi si funciona perfectamente mi paginador, mi duda es por que no funciona con el de noticias y con el de articulos funciona perfectamente??

Última edición por ziin; 22/05/2010 a las 23:54
  #2 (permalink)  
Antiguo 22/05/2010, 23:38
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 21 años, 11 meses
Puntos: 1284
Respuesta: Paginación!

Hola:

No habrá progresado la consulta por algún error... por ejemplo la parte where de la consulta, por los espacios en blanco (where visible=1)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 22/05/2010, 23:46
 
Fecha de Ingreso: agosto-2009
Mensajes: 85
Antigüedad: 14 años, 7 meses
Puntos: 1
Respuesta: Paginación!

Cita:
Iniciado por caricatos Ver Mensaje
Hola:

No habrá progresado la consulta por algún error... por ejemplo la parte where de la consulta, por los espacios en blanco (where visible=1)

Saludos
Se le agradece por responder pero ya edite esa parte pero no me sigue saliendo el mismo error:

Código PHP:
Warningmysql_num_rows(): supplied argument is not a valid MySQL result resource................. 
Por favor respondan se les agradecera mucho.
  #4 (permalink)  
Antiguo 23/05/2010, 00:16
 
Fecha de Ingreso: marzo-2008
Ubicación: hco
Mensajes: 23
Antigüedad: 16 años
Puntos: 1
Respuesta: Paginación!

hola, intenta ponerlo de esta manera:

$sql = "SELECT id FROM noticias WHERE visible=1";
$resultados = mysql_query ($sql);

de no funcionar creo que sería problema de los campos de tu tabla

Etiquetas: Ninguno
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 09:47.