Foros del Web » Programando para Internet » PHP »

Problema con paginaciones

Estas en el tema de Problema con paginaciones en el foro de PHP en Foros del Web. Hola amigos saludo a todos bueno tengo este siguiente problema en la paginacion adjunto el codigo Código PHP: <?php /* * autor: Abraham Zenteno Sánchez * mail:  [email protected] * page: http://abzenteno.blogspot.com */ $host  ...
  #1 (permalink)  
Antiguo 21/09/2011, 21:11
Avatar de newmesis  
Fecha de Ingreso: octubre-2010
Ubicación: Chillán, Chile, Chile
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Problema con paginaciones

Hola amigos saludo a todos

bueno tengo este siguiente problema
en la paginacion
adjunto el codigo

Código PHP:
<?php
/*
* autor: Abraham Zenteno Sánchez
* mail:  [email protected]

* page: http://abzenteno.blogspot.com
*/
$host "localhost";
$user "";
$passwd "";
$database "tag";

//provando conexion con mysql
$db mysql_connect($host,$user,$passwd);

//provando conexion con la base de datos
@mysql_select_db($database,$db);

$rows_for_page 5//numero de registros a mostra
$sql "SELECT * FROM picture";
$result mysql_query($sql$db);
//total de registros existentes en la tabla
$total_records = @mysql_num_rows($result);

//total de paginas
$pages ceil($total_records $rows_for_page);

@
mysql_free_result($result);

//si no existe por GET la var screen coloca por defecto el valor de 0
if (!isset($_GET['screen']))
  
$screen 0;
//de lo contrario asigna el valor por get a $position
else
  
$position = (int)$_GET['screen'];

//comenzando el paginado
$start $screen $rows_per_page;
//consulta ala db por limites
$sql "SELECT * FROM picture order by id ASC LIMIT ".$position.",".$rows_for_page;
//ejecuta el query
$result mysql_query($sql$db);
//resultados de la consulta (total)
$rows = @mysql_num_rows($result);

//imprime registros
for ($i 0$i $rows$i++) {
  
$title mysql_result($result,$i,0);
  
$content mysql_result($result,$i,1);
  echo 
"<h1> $title </h1>
      <br>
      <p>$content</p><br>"
;
}
//comienza el paginado
echo '<p><hr></p>
<div style="width:100%; text-align:center;">'
;
//si posicion es mayor o igual a 1 quiere decir que muestre la parte Primero y Anterior de la paginación
if ($position >= 1) {
  
$url "index.php?screen=0";
  echo 
"<a href=\"$url\">Primero</a>\n";
  
//para que el preius no termine con valor 0
   
$url "index.php?screen=" .($position-1);
  echo 
"<a href=\"$url\">Anterior</a>\n";
}
//sirve para expandir el prollecto para poder paginar de la manera (Primero Anterior | 0 | 1 | 2 | 3 | Siguiente Ultimo)
/*for ($i = 0; $i < $pages; $i++) {
  $url = "index.php?screen=" . $i;
  echo " | <a href=\"$url\">$i</a> | ";
}*/

//muestra total de resultados 1 de N
echo '<strong>'.($position+1).' de '.$pages.' </strong>';

//si position es menor a el valor entre los parentesis muestra la parte (Siguiente Ultimo)
if ($position < ($pages-1)) {
  
$url "index.php?screen=" . ($position+1);
  echo 
"<a href=\"$url\">Siguiente</a>\n";
  
$url "index.php?screen=" . ($pages-1);
  echo 
"<a href=\"$url\">Ultimo</a>\n";
}
echo 
'</div>';
?>
al momento de estar en index no me muestra nada pero si paso a la siguiente pagina que seria (index.php?screen=0) ai resien empieza a mostrarse el contenido, lo tengo configurado que muestre 5 post en $rows_for_page = 5;
pero si paso al siguiente (ndex.php?screen=1) me muestra 1 post nuevo osea 4 de antes y solo uno se corre noc si se entende pero adjunto el codigo completo
  #2 (permalink)  
Antiguo 21/09/2011, 22:05
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con paginaciones

El problema esta en que si comienzas de cero, defines screen y, si por url recibes screen defines position... cual de ambas usaras?

Código PHP:
Ver original
  1. //si no existe por GET la var screen coloca por defecto el valor de 0
  2. if (!isset($_GET['screen']))
  3.   $screen = 0;
  4. //de lo contrario asigna el valor por get a $position
  5. else
  6.   $position = (int)$_GET['screen'];

$sql = "SELECT * FROM picture order by id ASC LIMIT ".$position.",".$rows_for_page;

Solo usa la misma variable y todo estara solucionado.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 22/09/2011, 17:08
Avatar de newmesis  
Fecha de Ingreso: octubre-2010
Ubicación: Chillán, Chile, Chile
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con paginaciones

Cita:
Iniciado por Triby Ver Mensaje
El problema esta en que si comienzas de cero, defines screen y, si por url recibes screen defines position... cual de ambas usaras?

Código PHP:
Ver original
  1. //si no existe por GET la var screen coloca por defecto el valor de 0
  2. if (!isset($_GET['screen']))
  3.   $screen = 0;
  4. //de lo contrario asigna el valor por get a $position
  5. else
  6.   $position = (int)$_GET['screen'];

$sql = "SELECT * FROM picture order by id ASC LIMIT ".$position.",".$rows_for_page;

Solo usa la misma variable y todo estara solucionado.
gracias por responder ahora no entendi mucho de lo que devo hacer podrias ser un poco mas especifico borro una variable?
  #4 (permalink)  
Antiguo 22/09/2011, 19:09
Avatar de newmesis  
Fecha de Ingreso: octubre-2010
Ubicación: Chillán, Chile, Chile
Mensajes: 42
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Problema con paginaciones

porfavor ayudenme ya que tengo un certamen de esto

Etiquetas: mysql, registro, sql, tabla
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 05:32.