Foros del Web » Programando para Internet » Javascript » Frameworks JS »

paginar php mysql con ajax pero en vez de numeros usar palabras ?

Estas en el tema de paginar php mysql con ajax pero en vez de numeros usar palabras ? en el foro de Frameworks JS en Foros del Web. buenas que tal, les comento mi problema a ver si me pueden guiar un poco. tengo una tabla de mysql que tiene los siguientes datos ...
  #1 (permalink)  
Antiguo 23/05/2008, 07:07
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta paginar php mysql con ajax pero en vez de numeros usar palabras ?

buenas que tal, les comento mi problema a ver si me pueden guiar un poco.

tengo una tabla de mysql que tiene los siguientes datos mas o menos

id, nombre, descripcion, pagina, paginadep

lo que yo quiero mostrar seria algo asi:

http://www.frequency-decoder.com/dem...ited/paginate/

pero donde tiene los numeros que aparezcan las palabras que tienen la pagina diferente de cero, y en el listado las palabras todas las palabras que tengan la misma paginadep que la que seleccionamos en el paginador digamos, pero que se vaya moviendo como ese ejemplo de ajax

por ejemplo con letras algo simple
el paginador por ejemplo empezaria asi:
A - B - C - D - E

si yo toco en la D, el paginador cambiaria a:
B - C - D - E - F
o sea quedando al medio, para mostrarme las siguientes y posteriores
pero en el listado me mostraria
Daaa
Dbbb
Dxxx

Ojo, no voy a poner letras eh ... la paginacion serian palabras ...

Esto en realidad es para un diccionario, que lo que hace es listar palabras, y al clickear en una palabra te lista las que estan relacionadas por asi decirlo, pero te muestra en la paginacion las palabras que tenes antes y despues que esa (para saber cual es antes y despues lo toma por el ID)



Estoy mas que perdido y no se por donde empezar, conocen algun script en ajax que haga similar y que pueda ir editando para lograr esto ?

muchas gracias a todos de antemano !
  #2 (permalink)  
Antiguo 23/05/2008, 09:29
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

Hola anibal_cdf,

Lo que propones antes de usar AJAX deberías de hacer tu fuente de información en PHP, es decir, crear tu script en PHP que lo que haga es devolverte por ejemplo las palabras como las necesitas A - B - C - D - E / B - C - D - E -F.

Una vez que realices ese script, entonces si avientate a usar AJAX para recargar la pagina en el mismo lugar.

Saludos.
  #3 (permalink)  
Antiguo 23/05/2008, 09:57
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 8 meses
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
  #4 (permalink)  
Antiguo 23/05/2008, 11:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

Hola anibal_cdf,

Si ese código ya te funciona como quieres, ahora solo necesitas pasar las partes que necesitas a AJAX, a como yo lo veo necesitaras dos Divs, el primero donde muestras los resultados y el segundo donde muestras lo que es el "paginador".

Yo en particular te recomendaría usar la librería prototype para que aceleres tu trabajo.

Posteriormente vas a tener que dividir tu archivo PHP en funciones para que vía AJAX cuando hagas el llamado tengas un script que gestione que llamadas deben de ser llamadas y devolver el resultado HTML correspondiente.

Saludos.
  #5 (permalink)  
Antiguo 23/05/2008, 11:56
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

aaaaaaaja , y como me recomendas comenzar ? empezar a ver ejemplo o documentacion de prototype ? tenes algun ejemplo a mano como para empezar a ver ?
  #6 (permalink)  
Antiguo 23/05/2008, 14:48
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

Hola anibal_cdf,

No tengo ejemplos a la mano, pero si te recomendaría que leyeras el manual de Prototype.

Saludos.
  #7 (permalink)  
Antiguo 28/05/2008, 06:36
 
Fecha de Ingreso: marzo-2007
Mensajes: 180
Antigüedad: 17 años, 8 meses
Puntos: 0
Pregunta Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

como andas ? encontre algo pero no se como modificarlo, modifique para que muestre mis resultados, pero yo quisiera verlo horinzontalmente los resultados, sin ver los previos ni los siguientes
y si borro los divs de anterior y posterior no funciona
aca esta el ejemplo:
http://particletree.com/examples/paging/
tiene el codigo para bajar

no puedo pegar aca el codigo porque es muy grande ...
  #8 (permalink)  
Antiguo 26/03/2011, 06:46
 
Fecha de Ingreso: marzo-2011
Ubicación: Cuba
Mensajes: 8
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: paginar php mysql con ajax pero en vez de numeros usar palabras ?

necesito de su ayuda, el problema reside en que quiero mostrar los resultados de mi consulta en php en un div y este sobre otro div en mi index php como puedo entonces hacerlo?
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 14:11.