Foros del Web » Programando para Internet » PHP »

Paginación con links.

Estas en el tema de Paginación con links. en el foro de PHP en Foros del Web. Hola, Ya sé que posiblemente este tema ha podido ser tratado con anterioridad pero he provado varios scripts de paginación y no encuentro lo que ...
  #1 (permalink)  
Antiguo 04/11/2005, 14:28
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Paginación con links.

Hola,

Ya sé que posiblemente este tema ha podido ser tratado con anterioridad pero he provado varios scripts de paginación y no encuentro lo que busco.

Lo que necesito es un paginador que liste los los datos de una BD y haga una pequeña descripción de la fila completa, como tres campos: titulo, descripción, autor y un link al contenido completo que incluyan todos los campos de esa fila.

Sólo es eso, pero tanto partirme la cabeza y no me sale.

Muchas gracias,
Foziw.
  #2 (permalink)  
Antiguo 04/11/2005, 14:33
 
Fecha de Ingreso: octubre-2005
Mensajes: 365
Antigüedad: 12 años, 2 meses
Puntos: 0
Tendrías que adaptar alguno con:

http://www.forosdelweb.com/f18/mostrar-mas-informacion-tipo-alt-343766/
  #3 (permalink)  
Antiguo 04/11/2005, 16:50
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Nadie sabe de un ejemplo completo?

Gracias.
  #4 (permalink)  
Antiguo 05/11/2005, 15:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar el "Paginator" de jpinedo, .. no es todo lo que tu pides, pues es un script de paginación genérico (algo de tu parte tienes que hacer para tu caso concreto siempre)... Pero, si te decides a usarlo, pruebalo y lo que no sepas hacer .. con la duda concreta y el código que uses acudes al foro a ver si te podemos ayudar.

Paginator de Jpinedo
http://jpinedo.webcindario.com/scripts/paginator/

Un saludo,
  #5 (permalink)  
Antiguo 05/11/2005, 16:01
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Hola,

Ya estaba usando paginator e hice esto que más o menos se adapta pero no me acaba de funcionar bien, por ejemplo nunca me sale el link perfecto, me explico, aparece el titulo con el link pero en vez de ir a la descripción completa del objeto me va a la descripción completa del siguiente.
También tengo un problema en cuanto a que solo me aparezca una descripción completa, con el código que hice lo más que puedo es acceder a la descripción completa de la página, no del objeto.

Les adjunto mi código para que sepan de que estoy hablando:
Código PHP:
<?php
//Conexión a la base de datos
$con mysql_connect("localhost","usuario","") or die (mysql_error());
mysql_select_db("BD",$con) or die (mysql_error());

//Sentencia sql (sin limit)
$_pagi_sql "SELECT * FROM tabla ORDER BY autores";

//cantidad de resultados por página (opcional, por defecto 20)
$_pagi_cuantos 3;//Elegí un número pequeño para que se generen varias páginas

//cantidad de enlaces que se mostrarán como máximo en la barra de navegación
$_pagi_nav_num_enlaces 5;//Elegí un número pequeño para que se note el resultado

//Decidimos si queremos que se muesten los errores de mysql
$_pagi_mostrar_errores false;//recomendado true sólo en tiempo de desarrollo.

//Si tenemos una consulta compleja que hace que el Paginator no funcione correctamente, 
//realizamos el conteo alternativo.
$_pagi_conteo_alternativo true;//recomendado false.

//Supongamos que sólo nos interesa propagar estas dos variables
$_pagi_propagar = array("id","autores");//No importa si son POST o GET

//Definimos qué estilo CSS se utilizará para los enlaces de paginación.
//El estilo debe estar definido previamente
$_pagi_nav_estilo "paginacion";

//definimos qué irá en el enlace a la página anterior
$_pagi_nav_anterior "&lt;";// podría ir un tag <img> o lo que sea

//definimos qué irá en el enlace a la página siguiente
$_pagi_nav_siguiente "&gt;";// podría ir un tag <img> o lo que sea

//Incluimos el script de paginación. Éste ya ejecuta la consulta automáticamente
include("paginator.inc.php");


//Leemos y escribimos los registros de la página actual
while($row mysql_fetch_object($_pagi_result)){
        echo 
$row->autores.'-> <a href="'.$_pagi_enlace."_pagi_pg=".$_pagi_url.'&amp;detail=true">'.$row->titulo."</a><br />"
     
    if(!empty(
$_GET['detail'])) { 
      
        
     echo 
'<html><body><table>';
      
      echo
'<tr><td width="180" height="25" valign="top">No. de Identificación:</td> <td valign="top">'.$row->ID.'</td></tr>';
      echo 
'<tr><td width="180" height="25" valign="top">Tipo de Referencia:</td> <td valign="top">'.$row->tipo.'</td></tr>';
    echo    
'<tr><td width="180" height="25" valign="top">Autores:</td> <td valign="top">'.$row->autores.'</td></tr>';
    echo    
'<tr><td width="180" height="25" valign="top">Titulo:</td> <td valign="top"><strong>'.$row->titulo.'</strong></td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Publicación Completa:</td> <td valign="top">'.$row->publicacioncompleta.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Publicación Abreviada:</td> <td valign="top">'.$row->publicacionabreviada.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Año de Publicación:</td> <td valign="top">'.$row->anopublicacion.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Fecha de Publicación:</td> <td valign="top">'.$rowj->fechapublicacion.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Volumen:</td> <td valign="top">'.$row->volumen.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Ejemplar:</td> <td valign="top">'.$row->ejemplar.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Página Inicial:</td> <td valign="top">'.$row->paginainicial.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Otras Páginas:</td> <td valign="top">'.$row->otraspaginas.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Descriptores:</td> <td valign="top">'.$row->descriptores.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Resumen:</td> <td valign="top">'.$row->resumen.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Notas:</td> <td valign="top">'.$row->notas.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Editor:</td> <td valign="top">'.$row->editor.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Lugar de Publicación:</td> <td valign="top">'.$row->lugarpublicacion.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Traductores:</td> <td valign="top">'.$row->traductores.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">ISSN/ISBN:</td> <td valign="top">'.$row->issnisbn.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Disponibilidad:</td> <td valign="top">'.$row->disponibilidad.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">NO. de Acceso:</td> <td valign="top">'.$row->noacceso.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Idioma:</td> <td valign="top">'.$row->idioma.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Clasificación:</td> <td valign="top">'.$row->clasificacion.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Subarchivo:</td> <td valign="top">'.$row->subarchivo.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Titulo Original/Traducido:</td> <td valign="top">'.$row->tituloriginal.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Enlaces:</td> <td valign="top">'.$row->enlaces.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">DOI:</td> <td valign="top">'.$row->DOI.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Signatura:</td> <td valign="top">'.$row->signatura.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Base de Datos:</td> <td valign="top">'.$row->basedatos.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Fuente de Datos:</td> <td valign="top">'.$row->fuentedatos.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Frase de Identificación:</td> <td valign="top">'.$row->fraseidentificacion.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Fecha Recuperada:</td> <td valign="top">'.$row->fecharecuperada.'</td></tr>';
    echo        
'<tr><td width="180" height="25" valign="top">Biblioteca:</td> <td valign="top">'.$row->biblioteca.'</td></tr>';
    echo 
'</table></body></html>';  
       
    }
}

//Incluimos la barra de navegación
echo"<p>".$_pagi_navegacion."</p>";

//Incluimos la información de la página actual
echo"<p>Mostrando referencias ".$_pagi_info."</p>";

?>
Gracias,
Agustín Vivancos
  #6 (permalink)  
Antiguo 05/11/2005, 16:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Por mi parte no entendí bien lo que pretendes hacer.

Creo que el problema tal vez lo tienes en el manejo que haces de:

Código PHP:
 echo $row->autores.'-> <a href="'.$_pagi_enlace."_pagi_pg=".$_pagi_url.'&amp;detail=true">'.$row->titulo."</a><br />"
Deberías mostrar el código también de "$_pagi_enlace" (es ese mismo script?) .. Para ver donde aplicas tu consulta SQL condicional (SELECT ... WHERE campo='condicion') que no se vé por ninguna parte y que es necesario como para ir a ver un "detalle" de un registro concreto (por qué tampoco se vé en ese link que generas un campo "ID" que le pases a ese script para hacer ese proceso!)

En definitiva .. tu problema no está en los scripts de paginación que usas .. sino en como trabajar un "detalle" de un registro (como hacer una consulta SQL tal que te dé un sólo registro .. concretamente el que necesites ver).

Un saludo,
  #7 (permalink)  
Antiguo 06/11/2005, 04:37
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Vamos a ver...

No entendí bien. La primera pregunta que surge es... ¿Puedes hacer lo que necesitas pero sin paginar?... ¿Cómo sería?

Saludos
  #8 (permalink)  
Antiguo 06/11/2005, 04:47
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Lo necesito todo paginando, quiero paginar los resultados de una BD y luego desde la descripción acceder a la descripción completa y seguir paginando pero uno por uno.

Un saludo.
  #9 (permalink)  
Antiguo 06/11/2005, 05:29
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Parece que voy entendiendo... corrígeme si me equivoco por favor.

Lo que necesitas es armar una lista de registros. Supongamos esta página de 4 registros:
Código:
item1 -> enlace 1
item2 -> enlace 2
item3 -> enlace 3
item4 -> enlace 4
Ahora... si hacemos clic, por ejemplo, en el enlace 2, deberemos cargar el mismo scropt, en la misma página, pero mostrando el detalle del item 2:
Código:
item1 -> enlace 1
item2 -> enlace 2
	| algun detalle d item 2 |
	| mas detalle del item 2 |
item3 -> enlace 3
item4 -> enlace 4
Si es así, no tomes la variables $_pagi_url, porque esta sirve para generar la barra de navegación. la barra termina en el enlace "siguiente" y es por eso que esa variable queda con el valor de la siguiente página.

Lo mejor en tu caso es tomar toda tu url ($_SERVER['REQUEST_URI']) y ponerla en el enlace. Además no estás identificando en ninguna parte cuál es el registro que quieres ver en detalle. como dijo Cluster, podrías pasar el "id" de cada registro como parámetro.
Código PHP:
   while($row mysql_fetch_object($_pagi_result)){
        echo 
$row->autores."-> <a href=\"".$_SERVER['REQUEST_URI']."&amp;detail_id=".$row->id."\">".$row->titulo."</a><br />"
        if(!empty(
$_GET['detail_id']) && $_GET['detail_id'] == $row->id){ 
            
$sql "SELECT * FROM tabla WHERE id=".$_GET['detail_id'];
            
            
//...
            //... 
Saludos
  #10 (permalink)  
Antiguo 06/11/2005, 07:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Muchas gracias, me ha sido de mucha ayuda! :D
  #11 (permalink)  
Antiguo 06/11/2005, 08:47
Avatar de gonzalezmfrank  
Fecha de Ingreso: julio-2005
Ubicación: Maracaibo - Venezuela
Mensajes: 266
Antigüedad: 12 años, 4 meses
Puntos: 0
Excelente la solucion........

otra pregunta.

Suponiendo que estemos en una tercera pagina (de paginacion ) y se seleccione un link que lleve a otro script.... cual seria la variable que debo llevar con la pagina a cual debo regresar (desde donde sali ) por cuanto siempre devuelve a la primera

Estoy haciendo un diálogo donde se despliegan paises, estados y ciudades y luego que incluyo una ciudad de un estado, cuando quiero devolverme a los estados siempre me devuelvo al primer estado pero quisiera que se devolviera al estado desde donde quise consultar, modificar y incluir la ciudad ( o al menos el grupo de estados)... para no volver a nagevar desde el principio al estado de desde donde consulte las ciudades

Gracias.

Frank
  #12 (permalink)  
Antiguo 06/11/2005, 15:48
 
Fecha de Ingreso: octubre-2005
Mensajes: 25
Antigüedad: 12 años, 1 mes
Puntos: 0
hola, he puesto paginator en mi pagina, esta muy bien.
El problema que tengo es que tengo que hacer varias paginaciones en la misma pagina, es posible con paginator?
  #13 (permalink)  
Antiguo 06/11/2005, 16:03
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Sí, puedes utilizar las variables tantas veces como quieras.
  #14 (permalink)  
Antiguo 06/11/2005, 16:20
 
Fecha de Ingreso: octubre-2005
Mensajes: 25
Antigüedad: 12 años, 1 mes
Puntos: 0
pero son paginaciones diferentes
por ejemplo paginar un listado de usuarios
y por otra parte listar documentos, dentro de la misma pagina.
si pulso la pagina 3 de usuarios, y los documentos estaban en la 6 quiero que siga en esa pagina.
  #15 (permalink)  
Antiguo 06/11/2005, 16:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 102
Antigüedad: 12 años, 9 meses
Puntos: 0
Puedes hacer más de una consulta a una DB, si puedes hacer 5 consultas puedes hacer 5 paginaciones.
  #16 (permalink)  
Antiguo 06/11/2005, 16:25
 
Fecha de Ingreso: octubre-2005
Mensajes: 25
Antigüedad: 12 años, 1 mes
Puntos: 0
si la paginacion me la hace bien, pero cuando pulsas una de las paginas en una de las paginaciones ya no funciona
  #17 (permalink)  
Antiguo 07/11/2005, 01:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
gonzalezmfrank:

No terminé de entender la pregunta. Tal vez sería bueno que abras un tema nuevo con tu problema concreto. Así posteas tu código y te ayudamos mejor.

Saludos
  #18 (permalink)  
Antiguo 07/11/2005, 01:46
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Pikao:

Gracias por abrir un nuevo tema. Ya te respondo ahí.
http://www.forosdelweb.com/f18/paginator-varias-paginaciones-misma-pagina-347784/

Saludos
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 13:37.