Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/05/2008, 09:57
anibal_cdf
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

Código PHP:
<?

// Conexion a base de datos

function conectar()
{
    if (!(
$link=mysql_connect("localhost""xxxxxx""xxxxxx")))
    { 
        echo 
"Error conectando a la base de datos."
        exit(); 
    } 
    if (!
mysql_select_db("xxxxx",$link)) 
    { 
        echo 
"Error seleccionando la base de datos."
        exit(); 
    } 
    return 
$link
}

function 
desconectar()
{
    
mysql_close();
}

$link=conectar();

// Fin conexion


/* Nombre de este script */
$nombre="prueba.php";

/* Numero total de registros (puede venir de Mysql)*/
//$total[0]=100;
$sql "select * from textos";
$resultado mysql_query($sql$link);
$total[0] = mysql_num_rows($resultado);
//echo "<br>Total: ".$total[0]."<br>";



/* Numero de registros que se desean por pagina */
$pag_max=10;

/* Calculo de las paginas */
$pg_num=$total[0] / $pag_max$pg_num=ceil($pg_num);

/* 'pg' se usa para diseminar el # de pagina que nos encontramos (al principio no existira) */
if (!isset($_REQUEST['pg'])) 
{
    
$pg 1;
    
$in 0
}
else if(
$_REQUEST['pg'] == 1)

    
$in=0;
    
$pg=$_REQUEST['pg']; 
}
else if(
$_REQUEST['pg']>1)
{
    
$pg $_REQUEST['pg']; 
    
$in $pg 1
    
$in $in $pag_max
}

?>
<html>
<head>
<title>Paginador</title>
</head>
<body>
  <?
/*
Para el LIMIT de la consulta que arrojar los datos de la pagina se usa $in (desde) $pag_max (maximo a mostrar)
Ej: SELECT * FROM tabla LIMIT $in, $pag_max
*/


/* Paginador */
if(isset($pg))
{
    
$paginas_adelante   =5;      // Paginas que se veran adelante de actual
    
$paginas_atras      =5;      // Paginas que se veran detras de actual
                     
   /* Paginas */
   //echo '<div style="border:1px solid black; float:left; padding:5px;">Página '.$pg.' de '.$pg_num.'</div><div style="float:left; width:5px;"></div>';

   /* Primera pagina */
   //if($pg>1)
   //{
      
echo '<div style="border:1px solid black; float:left; padding:5px;"><a href="'.$nombre.'?pg=1"><b><<</b></a></div>';   
   
//}

   /* Atras */
   
if($pg>1)
   {
      if(
$pg>$paginas_atras)
      {
         
$desde=$pg $paginas_atras;
      }
      else
      {
         
$desde=1;
      }
      
$hasta=$pg 1;
      for(
$x=$desde$x<=$hasta$x++)
      {
        
$query "SELECT hk FROM textos WHERE pagina=$x ORDER BY id ASC";
        
$result mysql_query($query); 
        if (
mysql_error()) echo mysql_error()."<br>";
        while (
$rows mysql_fetch_array($result))
        {
            
$hkpage $rows['hk'];
        }
         echo 
'<div style="float:left; padding:5px;"><a href="'.$nombre.'?pg='.$x.'"><b>'.$hkpage.'</b></a></div>';
      }                     
   }

   
/* Pagina actual */
    
$query "SELECT hk FROM textos WHERE pagina=$pg ORDER BY id ASC";
    
$result mysql_query($query); 
    if (
mysql_error()) echo mysql_error()."<br>";
    while (
$rows mysql_fetch_array($result))
    {
        
$hkpage $rows['hk'];
    }
   echo 
'<div style="border:1px solid black; float:left; padding:5px;"><a href="http://www.xxxxxx.com.ar/'.$hkpage.'">'.$hkpage.'</a></div>';   
                     
   
/* Adelante */
   
if($pg<$pg_num)
   {
      
$limite=$pg+$paginas_adelante;
      
$s=$pg 1;
      for(
$x=$s$x<=$limite$x++)
      {
         if(
$x<=$pg_num)
         {
            
$query "SELECT hk FROM textos WHERE pagina=$x ORDER BY id ASC";
            
$result mysql_query($query); 
            if (
mysql_error()) echo mysql_error()."<br>";
            while (
$rows mysql_fetch_array($result))
            {
                
$hkpage $rows['hk'];
            }
            echo 
'<div style="float:left; padding:5px;"><a href="'.$nombre.'?pg='.$x.'"><b>'.$hkpage.'</b></a></div>';                           
         }
      }                     
   }

   
/* Ultima pagina */
   
if($pg<$pg_num)
   {
      echo 
'<div style="border:1px solid black; float:left; padding:5px;"><a href="'.$nombre.'?pg='.$pg_num.'"><b>>></b></a></div>';   
   }
}

// Aca listo los datos de la consulta

echo "<br><br>";
$query "SELECT distinct(hk) FROM textos WHERE paginadep=$pg ORDER BY paginadep,id ASC";
$result mysql_query($query); 
if (
mysql_error()) echo mysql_error()."<br>";

?>
  
</p>
<table width="300" border="1" cellspacing="0" cellpadding="0">
<?php
$link
=1;
while (
$rows mysql_fetch_array($result))
{
    if (
$link==1) { $hklink=$rows['hk']; $link=0;}
    
$hk $rows['hk'];
    echo 
'<tr>';
    echo 
'<td><div align="center">'.$hk.'</div></td>';
    echo 
'</tr>';
}

// Fin listado

?>
</table>
</body>
</html>

este es un codigo que encontre que servia para html y lo modifiqu todo para usarlo con mysql

la idea es que la pagina actual el link sea como lo puse yo, apuntando a una web http
y las demas palabras funcionen con ajax para paginar el resultado